Sönke Ludwig
03ffe70dc1
Revert to execute timer callbacks in tasks and add createLeanTimer instead.
...
Fixes #125 .
2019-01-22 18:06:55 +01:00
Sönke Ludwig
1a87ee5b3f
Make yieldLock() safe and nothrow.
2019-01-22 18:06:54 +01:00
Sönke Ludwig
857be9459e
Improve convenience of the Channel API.
...
- allows all methods to be called on a `shared(Channel!T)` instance.
- `Channel` pre-defines the `buffer_size` argument to 100, matching `createChannel`
2019-01-22 10:50:46 +01:00
Sönke Ludwig
27ec5fe2d2
Bump version number.
2019-01-20 14:50:56 +01:00
Sönke Ludwig
3503001ec6
Add contract to Channel.consumeAll to force the input buffer to be empty.
2019-01-20 14:31:29 +01:00
The Dlang Bot
c21e1aa06d
Merge pull request #25 from vibe-d/channels
...
Implement typed cross-task channels
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2019-01-20 13:51:36 +01:00
Sönke Ludwig
48908a7f15
Bump version number.
2019-01-20 13:26:44 +01:00
Sönke Ludwig
3be1de2fdb
Refine the semantics of consumeAll.
2019-01-20 11:57:16 +01:00
Sönke Ludwig
568cdb112b
Merge pull request #116 from WebFreak001/fix-115
...
release ref on failing connectTCP
2019-01-19 15:06:39 +01:00
Sönke Ludwig
28260bd612
Use a robust check IP vs. host name check for resolveHost. Fixes #117 .
2019-01-16 22:31:14 +01:00
Sönke Ludwig
f31db98144
Add documentation, basic unit test, createChannel(), close() and tryConsumeOne().
2019-01-14 22:16:45 +01:00
Sönke Ludwig
82936041e4
Add some more notes.
2019-01-14 20:42:31 +01:00
Sönke Ludwig
bce39e512c
Implement a simple thread-safe cross-task channel.
2019-01-14 20:42:31 +01:00
The Dlang Bot
8edca75696
Merge pull request #119 from vibe-d/issue-118-interruptible-task-mutex-use
...
Improve robustness of the sync module. Fixes #118 .
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2019-01-14 20:21:04 +01:00
Sönke Ludwig
2f552ac408
Properly handle directory watcher creation failures.
2019-01-14 14:59:03 +01:00
Sönke Ludwig
9583df3c44
Preserve times and attributes in copyFile.
2019-01-14 14:59:02 +01:00
Sönke Ludwig
dfd7d97225
Fix parameter documentation syntax. Fixes #103 .
2019-01-14 10:22:13 +01:00
Sönke Ludwig
cccf45cfea
Add a motivational introduction to the sync module.
...
Especially mention the issues of using `core.sync.*`.
2019-01-14 10:22:13 +01:00
Sönke Ludwig
6c0bdf2976
Add documentation and unittest example to scopedMutexLock.
2019-01-14 10:22:12 +01:00
Sönke Ludwig
fb64c07d3c
Make scopedMutexLock work with InterruptibleTaskMutex.
2019-01-14 10:22:12 +01:00
Sönke Ludwig
452fa411c2
Avoid overload conflict when using TaskMutex together with InterruptibleTaskCondition.
2019-01-14 10:22:12 +01:00
Sönke Ludwig
ffa5bd5c58
Add a trap to detect invalid uses of InterruptibleTaskMutex in conjunction with synchronized.
2019-01-14 10:22:12 +01:00
Sönke Ludwig
c899798be7
Avoid blocking copy in moveFile.
2019-01-14 00:34:15 +01:00
WebFreak001
4d4401c31f
Fix assert not compiling in releaseRef
2019-01-09 00:28:27 +01:00
WebFreak001
9d6b34c73a
release ref on failing connectTCP
...
fix #115
2019-01-09 00:18:43 +01:00
Benjamin Schaaf
12a8825f86
Fix error message in FileStream.write
2019-01-07 10:26:16 +11:00
Sönke Ludwig
e5ce1394b1
Bump version number.
2018-12-28 14:09:14 +01:00
The Dlang Bot
e5d53249fc
Merge pull request #113 from vibe-d/file_truncate
...
Add FileStream.truncate
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2018-12-28 14:03:19 +01:00
Sönke Ludwig
f35e8f1d69
Add FileStream.truncate.
2018-12-28 10:14:50 +01:00
Hiroki Noda
a408aac808
Use monotonic clock for timeout
2018-12-24 06:22:53 +09:00
Sönke Ludwig
0d3338a16b
Merge pull request #111 from WebFreak001/fix-110
...
Make waitForData not assert fail on close fix #110
2018-12-20 10:14:08 +01:00
WebFreak001
bc3b319783
Fix potential crash if context is null on closed socket
...
If the other side closes the connection this might happen
Without this check the following m_context.readBuffer would segfault
2018-12-20 02:20:41 +01:00
WebFreak001
c8ab6ae2f8
Make waitForData not assert fail on close fix #110
2018-12-20 02:10:40 +01:00
Mathias L. Baumann
e2834a245b
UDP connect wrongly passes port as addr family to resolveHost
2018-12-08 10:14:59 +01:00
Sönke Ludwig
26b6190743
Bump version number.
2018-11-23 22:28:33 +01:00
Sönke Ludwig
b5442b5efd
Make sure that pending but unreferenced timers still invoke their callback. Fixes #104 .
2018-11-23 15:52:18 +01:00
Sönke Ludwig
aca672416c
Fix host name conversion code for SyslogLogger.
...
See vibe-d/vibe.d#2220
2018-11-07 09:41:57 +01:00
Martin Nowak
277e998167
fix relying on implicit const conversion of JSONValue
...
- "key" in JSONValue returns const(JSONValue)*
- fromValue expected non-const JSONValue
- implicit conversion of const(JSONValue) to JSONValue to be fixed
with https://github.com/dlang/phobos/pull/6716
2018-11-01 12:59:44 +01:00
Sönke Ludwig
c3272f7d1f
Fix assertion in SpinLock when called from a signal handler.
...
Since the signal handler can be called in any thread of the application, it may happen so in a non-D thread where Thread.getThis() returns null. This change works around this and also removes the need to call SpinLock.setup on thread startup.
2018-10-30 12:39:08 +01:00
Sönke Ludwig
8c4b147605
Bump version number.
2018-10-27 20:14:09 +02:00
Sönke Ludwig
f5665aa7c1
Fix compilation on older DMD frontends.
2018-10-27 16:31:59 +02:00
Sönke Ludwig
78fef30310
Implement callback based timers without relying on a task. Fixes #86 .
...
In the previous implementation, the callback tasks were starving as soon as the last external reference to a non-pending timer was given up.
2018-10-27 15:48:21 +02:00
Sönke Ludwig
6caff0b105
Fix synchronization and shutdown issues in TaskPool.
...
- terminate() would hang if called from a worker thread because it would attempt to self-join
- the handleWorkerTasks could miss signal emits, resulting in a hanging task queue or a missed termination signal
2018-10-27 00:42:06 +02:00
Sönke Ludwig
9a4217cd88
Merge pull request #95 from vibe-d/remove_task_pool_event_loop
...
Avoid starting an explicit event loop in worker threads.
2018-10-23 21:54:51 +02:00
Sönke Ludwig
849bca4855
Avoid starting an explicit event loop in worker threads.
...
This reduces the overhead of task pool threads slightly and simplifies stack traces in case of errors.
2018-10-23 11:27:28 +02:00
Sönke Ludwig
eae11d3ba3
Fix deprecation warnings on DMD 2.082.0
2018-10-23 11:25:54 +02:00
Sönke Ludwig
c4af4b2a02
Fix WindowsPath.bySegment of an empty path returning a bogus empty segment.
2018-10-01 21:54:29 +02:00
Sönke Ludwig
2480f6bb67
Allow switchToTask to be called within a yield lock.
...
Enables waking up other tasks from within a yield lock (executed after the yield lock is lifted).
2018-09-09 11:35:39 +02:00
Sönke Ludwig
897fee84ea
Free resources associated with waitForDataAsync as early as possible.
...
Instead of letting the GC clean up at an undefined point in time.
2018-09-03 13:45:53 +02:00
Sönke Ludwig
0b638634c9
Fix waitForDataAsync compilation error for callbacks that have scoped destruction.
2018-09-03 12:35:05 +02:00