Sönke Ludwig
08db20629b
Implement logException.
...
Logs an exception along with an error message and the full stack trace. Performs proper exception handling for the latter to stay nothrow.
2019-05-25 22:12:43 +02:00
Sönke Ludwig
c3832cbb8b
Bump version number.
2019-05-19 11:51:16 +02:00
Sönke Ludwig
b86610011f
Merge pull request #150 from rracariu/patch-1
...
Add way to disable port and address reuse
2019-04-26 09:56:04 +02:00
Denis Feklushkin
fc9bef86af
Logger: avoid formatting for strings without additional args
2019-04-23 23:01:44 +07:00
Radu Racariu
5e8e75e3e8
Add way to disable port and address reuse
2019-04-17 16:40:04 +03:00
Sönke Ludwig
f734b4a142
Improve thread-correctness of Task/TaskFiber.
...
- Task.join and Task.interrupt are now thread-safe
- TaskFiber.task returns Task.init if no task is running (avoids bogus resumes of the TaskFiber by the scheduler)
To enable thread-safe join/interrupt, the task counter is now stored together with the necessary flags within a single shared ulong that is manipulated atomically.
2019-04-13 20:53:01 +02:00
Sönke Ludwig
a202d33b3e
Fix a (harmless) race-condition.
...
ThreadLocalWaiter.unused may only be accessed from the owner thread.
2019-04-13 17:01:50 +02:00
Sönke Ludwig
1ca950867a
Fix typo.
2019-04-05 09:47:37 +02:00
Sönke Ludwig
a86f25b3b4
Fix range violation in makeFileInfo and add some unit tests.
2019-04-05 09:47:32 +02:00
Sönke Ludwig
bf30127534
Add ConnectionPool.removeUnused.
...
Allows to disconnect all connections that are not currently in use. In particular, it allows to close all connections at shutdown to avoid leaking socket descriptors.
2019-03-28 14:11:20 +01:00
Sönke Ludwig
e03caac035
Bump version number.
2019-03-26 15:37:30 +01:00
Sönke Ludwig
8e4adf000f
Make the DirEntry->FileInfo conversion nothrow.
...
Avoids listDirectory/iterateDirectory getting interrupted when stumbling over inaccessible files. The `name` field of the returned file info value is always set, so that these files can still be identified.
2019-03-25 09:45:47 +01:00
The Dlang Bot
5b146ab002
Merge pull request #141 from FraMecca/master
...
support isFile
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2019-03-21 20:22:21 +01:00
Francesco Mecca
6292320bb2
support isFile
2019-03-21 17:39:44 +01:00
Sönke Ludwig
caf291dd22
Bump version number.
2019-03-10 16:00:30 +01:00
Sönke Ludwig
02f5b4f91d
Avoid superfluous notifyAll
calls in Channel.
...
Slightly reduces the notification overhead in multiple-reader or multiple-writer scenarios.
2019-03-10 16:00:12 +01:00
Leonid Kramer
f558ce6c3f
Merge pull request #139 from vibe-d/busy_loop_interleave
...
Fix proper interleaving of busy yield loops inside and outside of tasks.
2019-03-09 21:41:47 +01:00
Sönke Ludwig
cae9f28885
Fix proper interleaving of busy yield loops inside and outside of tasks.
2019-03-06 12:35:37 +01:00
Steven Dwy
111478ef41
Fix #109 - TCPConnectionFunction is actually a delegate
2019-02-24 02:55:47 -08:00
Joseph Rushton Wakeling
d8e4013c92
Fix runApplication handling of unrecognized command-line args
...
`runApplication` takes an `args_out` parameter which, if non-null, is
supposed to be set to match unrecognized command-line args. However,
the parameter is never passed to `finalizeCommandLineOptions`, which
will therefore log an error and throw an exception if any command line
arguments are unrecognized.
This patch fixes the oversight, ensuring that `runApplication` will
correctly populate a non-null `args_out` parameter with unrecognized
command-line arguments, and not throw an exception in this case.
2019-02-22 16:33:01 +01:00
Sönke Ludwig
bfcf08def0
Bump version number.
2019-01-26 19:28:43 +01:00
Sönke Ludwig
92bb067f4b
Make Channel.tryConsumeOne/consumeAll/close/empty/bufferFill nothrow.
2019-01-26 18:29:28 +01:00
Sönke Ludwig
1a463cafc9
Make TaskCondition.wait/notify/notifyAll nothrow.
2019-01-26 18:04:50 +01:00
Sönke Ludwig
c6a29e1c3b
Make createChannel safe and add Channel.bufferFill.
2019-01-26 18:04:50 +01:00
Sönke Ludwig
5437b9ecb6
Merge pull request #129 from vibe-d/run_worker_task_h
...
Implement runWorkerTaskDistH.
2019-01-26 18:04:22 +01:00
Sönke Ludwig
a54fa6b7de
Implement runWorkerTaskDistH.
...
Variant of runWorkerTask that allows to get the handles of the created tasks.
2019-01-26 18:02:47 +01:00
Sönke Ludwig
177e761716
Merge pull request #128 from WebFreak001/fix-net-regression
...
remove refsLeft assert
2019-01-23 21:22:55 +01:00
WebFreak001
611505c038
remove refsLeft assert
...
It seems when running in a vibe-d app that the assert fails
Even though I would like there to be a check, closing the vibe.d
app afterwards shows no leaked handles so I think it's fine.
2019-01-22 20:16:38 +01:00
Sönke Ludwig
1284858d2c
Avoid TLS overhead for TimerCallbackH and make it fully private.
2019-01-22 19:46:52 +01:00
Sönke Ludwig
b5ccb784a1
Allow Task.interrupt to be called within a yieldLock.
2019-01-22 18:06:55 +01:00
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