Sönke Ludwig
e769a9b1ca
Avoid lazy evaluation of log arguments while the loggers are locked. Fixes rejectedsoftware/vibe.d#1717 .
...
The deadlock happened because a function that waits for a worker task to finish was passed to the log functions. Evaluated lazily, it got called while the logger's mutex was locked, meaning that any log call from within that thread would cause a deadlock.
This change also has another, possibly important, implication - arguments are evaluated only once instead of possibly multiple times if multiple loggers are registered. This could very well make a lot of existing (wrong) code more robust (e.g. logInfo("%s", i++)).
2017-03-23 17:55:51 +01:00
Sönke Ludwig
bcf1dfe799
Merge pull request #9 from wilzbach/add-gitignore
...
[Trivial] Add generated executables to .gitignore
2017-03-23 11:49:48 +01:00
Sebastian Wilzbach
45cc1fb954
Add executeables to .gitignore
2017-03-22 13:41:38 +01:00
Sönke Ludwig
e3f9d07e58
Don't store local/remote address for UDP connections.
...
Errored out due to the space requirements of UNIX addresses.
2017-03-10 23:00:43 +01:00
Sönke Ludwig
5fd9fc4007
Always compute TCPConnection.xxxAddress on demand.
...
Storing the network addresses becomes too expensive with UNIX socket support.
2017-03-10 21:06:18 +01:00
Sönke Ludwig
ed8b33786b
Compile fixes.
2017-03-10 20:07:04 +01:00
Sönke Ludwig
1edfc88e63
Add UNIX address type support to NetworkAddress.
2017-03-10 19:53:40 +01:00
Sönke Ludwig
77eddebe45
Improve Path compatibility with the original implementation.
2017-03-10 19:53:07 +01:00
Sönke Ludwig
1d9e88f27a
Fix createTempFile on Windows.
2017-03-09 16:09:46 +01:00
Sönke Ludwig
9e492ab4f1
Add missing forward configurations for optlink based builds.
2017-03-09 13:57:03 +01:00
Sönke Ludwig
13b6c1c136
Test on DMD and also with -m32mscoff.
2017-03-09 13:21:07 +01:00
Sönke Ludwig
de718c4b1c
Add runTask overloads to make lambda argument inference work.
2017-02-23 16:39:42 +01:00
Sönke Ludwig
897c43051f
Fix nothrow inference for runTask.
2017-02-23 15:49:59 +01:00
Sönke Ludwig
b995bdaa72
Use thread wait primitives for worker thread shutdown.
...
Avoids possible issues due to tasks interleaving the shutdown on the same thread.
2017-02-23 14:43:22 +01:00
Sönke Ludwig
3dbdc90927
Fix shutdown when no worker tasks have been used.
2017-02-22 23:26:16 +01:00
Sönke Ludwig
76882b3bd7
Remove temporary debug log messages.
2017-02-22 19:58:11 +01:00
Sönke Ludwig
9ac908c599
Use a ring buffer for worker tasks and make TaskFuncInfo creation slightly more efficient.
2017-02-22 19:52:22 +01:00
Sönke Ludwig
6f78310f26
Use scope parameters for FixedRingBuffer as appropriate.
2017-02-22 19:51:15 +01:00
Sönke Ludwig
40713db075
Move worker task logic into a new TaskPool class.
2017-02-22 18:35:51 +01:00
Sönke Ludwig
f9372446b1
Improve the sync module.
...
- Change the API of Monitor to work without a callback
- Add ManualEvent.emitSingle
2017-02-22 17:42:20 +01:00
Sönke Ludwig
6f26766c70
Fix the "threadTime" log format to be consistent with "thread".
2017-02-22 17:36:43 +01:00
Sönke Ludwig
531398e28d
Merge branch 'master' of github.com:vibe-d/vibe-core
2017-02-19 13:52:54 +01:00
Sönke Ludwig
3f83bef219
Fix Path.parentPath and Path.toString for PathType.windows.
2017-02-18 16:00:27 +01:00
Sönke Ludwig
5a8d5a2fea
Add tests from vibe-d:core.
2017-02-17 00:55:16 +01:00
Sönke Ludwig
99bc332a81
Allow script based tests and fix test package recipes.
2017-02-17 00:49:40 +01:00
Sönke Ludwig
68430a1ea4
Fix file pointer management in FileStream. Fixes rejectedsoftware/vibe.d#1684 .
2017-02-16 23:37:41 +01:00
Sönke Ludwig
db29e4730f
Let uncaught errors in fibers terminate the process.
2017-02-16 11:56:04 +01:00
Sönke Ludwig
d07e9258d9
Fix AppVeyor script and add badge.
2017-02-16 10:23:33 +01:00
Sönke Ludwig
93b342bf77
Fix compilation error on Windows.
2017-02-16 10:20:21 +01:00
Sönke Ludwig
095a1ddc85
Merge pull request #8 from wilzbach/add-appveyor
...
Add AppVeyor configuration
2017-02-16 09:47:03 +01:00
Sebastian Wilzbach
f399242a30
Add AppVeyor configuration
2017-02-15 22:50:57 +01:00
Sönke Ludwig
8f7cb5576b
Update project description and remove development progress list.
2017-02-01 12:31:19 +01:00
Sönke Ludwig
70128f407a
Test on DMD 2.073.0 and LDC 1.1.0 and add compiler list to README.
2017-02-01 12:18:54 +01:00
Sönke Ludwig
b8663f9fbc
Conditionally compile TaskFiber.state.
...
See https://issues.dlang.org/show_bug.cgi?id=17131
2017-02-01 11:05:53 +01:00
Sönke Ludwig
2ed82ca975
Add compatibility overload for ConnectionPool.this.
...
See rejectedsoftware/vibe.d#1664 .
2017-02-01 10:27:08 +01:00
Sönke Ludwig
df4022d83e
Add stream proxy types to allow user code to store generic streams.
2017-01-31 16:48:04 +01:00
Sönke Ludwig
dae1ca71b5
Update README.
2017-01-31 11:50:06 +01:00
Sönke Ludwig
72913575f4
Fix error message.
2017-01-30 22:52:36 +01:00
Sönke Ludwig
d9c373419a
Fixup for the previous timer fix.
2017-01-30 20:12:37 +01:00
Sönke Ludwig
f5c2177c5d
Fix createTimer() when called with a callback.
2017-01-30 19:55:34 +01:00
Sönke Ludwig
c490a354b7
Handle Timer.stop() gracefully for null timers.
2017-01-30 17:34:25 +01:00
Sönke Ludwig
b7e996cd8c
Let TCPConnection.peek() handle closed connections gracefully.
2017-01-30 17:27:43 +01:00
Sönke Ludwig
02e00944f6
Fix possible range violation in BatchBuffer.popFront(N).
2017-01-30 17:27:17 +01:00
Sönke Ludwig
2dccd43277
Let TCPConnection.waitForData amd leastSize act gracefully on closed connections.
2017-01-30 12:04:21 +01:00
Sönke Ludwig
ac811ba501
Remove buggy NetworkAddress.toUnknownAddress.
...
UnknownAddress is not large enough to hold either IPv6 or UDS addresses.
2017-01-30 11:40:11 +01:00
Sönke Ludwig
d2629ef053
Don't throw on read error in TCPConnection.waitForData.
2017-01-30 11:29:01 +01:00
Sönke Ludwig
4c9b6c0fb8
Properly check return value of createDatagramSocket.
2017-01-30 11:19:51 +01:00
Sönke Ludwig
8f6c4dd536
Fix LocalTaskSemaphore.
...
Fixes a potential hang, potential over-use of lock slots and only needs a single LocalManualEvent now instead of one created for each wait.
2017-01-30 10:07:06 +01:00
Sönke Ludwig
76df9212ef
Fix accessibility issue for std.concurrency.send.
2017-01-30 09:43:43 +01:00
Sönke Ludwig
84a21f7e9d
Add compatibility overloads for listenTCP.
2017-01-30 09:19:08 +01:00