Commit graph

331 commits

Author SHA1 Message Date
Dentcho Bankov
aef2936abd Fix for #11. Cross port of fix for #1742 from vibe.d 2017-04-15 00:04:08 +03:00
Sönke Ludwig
e3c680b0ce
Add assertion to ManualEvent to check for failure of creating event handles. 2017-03-27 16:32:24 +02:00
Sönke Ludwig
0895cd1960
Avoid bogus assertion failure.
Since the task queue entries never got cleaned up, the assertion got triggered once already used queue slots were starting to get reused.
2017-03-27 16:31:52 +02:00
Sönke Ludwig
e81589fa3e
(Re)implement JSON configuration support for readOption.
Since the core->data dependency was removed, this had to be commented out. It is now implemented in terms of std.json.
2017-03-25 14:16:22 +01:00
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
c80a15321e Allow removal of the default logger 2017-03-22 13:45:32 +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