Commit graph

663 commits

Author SHA1 Message Date
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
Sönke Ludwig
e88d2d1b4b
Fix segfault in DirectoryWatcher. 2017-01-29 22:11:17 +01:00
Sönke Ludwig
d0a55ef374
Add an uninterruptible variant of Task.join. 2017-01-29 20:20:08 +01:00
Sönke Ludwig
96b798200c
Make more network methods nothrow.
TCPConection properties and NetworkAddress.to(Address)String have been marked nothrow.
2017-01-29 20:19:38 +01:00
Sönke Ludwig
2ff37202c0
Add compatibility overload for setTimer(). 2017-01-29 16:46:21 +01:00
Sönke Ludwig
798f0ef446
Implement support for TCPListenOptions.reusePort. 2017-01-27 22:51:17 +01:00
Sönke Ludwig
b391ebabbe
Add more specific assertion for SpinLock initialization. 2017-01-27 22:50:57 +01:00
Sönke Ludwig
fc96ee9050
Fixes for setTimer and SpinLock.
- setTimer now starts a task to call the callback. This keeps the timer referenced and avoids issues if I/O functions are called from within the callback.
- SpinLock is now also initialized in "shared static this", so that applications using "shared static this" for initialization work properly.
2017-01-27 22:50:29 +01:00
Sönke Ludwig
3a3eb73006
Fix InterfaceProxy when used with class instances. 2017-01-27 00:51:22 +01:00
Sönke Ludwig
71c83440d3
Remove the deprecated OutputStream.write methods.
They will stay deprecated in vibe-d 0.8.0, but vibe-core will be released without them.
2017-01-27 00:10:09 +01:00
Sönke Ludwig
822dcccf34
Add interfaceProxy function to allow for better vibe:core compatibility. 2017-01-26 23:53:18 +01:00
Sönke Ludwig
5249c1c4c6
Fix infinite recursion in TCPConnection.(local/remote)Address properties. 2017-01-26 13:58:14 +01:00
Sönke Ludwig
373f82c16b
Deprecate stream based OutputStream.write overloads.
Replaced by a global pipe() function that supports non-class streams, too.
2017-01-25 22:42:35 +01:00
Sönke Ludwig
8985923e4d
Let InterfaceProxy handle parameter storage classes properly. 2017-01-25 22:40:07 +01:00