Commit graph

199 commits

Author SHA1 Message Date
Sönke Ludwig
d2146e3881 Fix shutdown of the worker thread pool.
Shuts down the pool before terminating the threads to avoid accessing an event thread waiter slot that is not associated with a valid eventcore driver anymore.
2018-02-22 20:10:08 +01:00
Sönke Ludwig
e4eaaddbba Make high-frequency log messages in the task scheduler optional.
Requires -debug=VibeTaskLog to enable them now.
2018-02-14 13:11:51 +01:00
Sönke Ludwig
ff26c31a42
Merge pull request #46 from vibe-d/total_cpus
Use std.parallelism.totalCPUs to implement logicalProcessorCount.
2018-02-14 13:09:02 +01:00
Sönke Ludwig
83515e4055
Merge pull request #51 from wilzbach/hexstring
Replace deprecated hexstring with hexString
2018-02-14 13:08:30 +01:00
Pavel Chebotarev
13e6c2aa41 Fix incorrect return value in TCPConnection.leastSize() 2018-01-27 18:53:16 +03:00
Sebastian Wilzbach
6107c1d807 Replace deprecated hexstring with hexString 2018-01-25 08:43:13 +01:00
Martin Nowak
30102f9e3a avoid Buffer type which creates a huge __initZ symbol 2018-01-14 04:43:14 +01:00
Sönke Ludwig
1ed1c85f76 Use std.parallelism.totalCPUs to implement logicalProcessorCount.
See vibe-d/vibe.d#2008.
2018-01-10 18:28:26 +01:00
Sönke Ludwig
2625397f91 Use asyncAwaitAny instead of asyncAwait to work around linker error. 2017-11-25 15:27:17 +01:00
Boris-Barboris
6634cbc645 switch to asyncAwait 2017-11-25 15:27:17 +01:00
Boris-Barboris
55e7866497 implement tcp connect timeout 2017-11-25 15:27:17 +01:00
Sönke Ludwig
dad84e8a46 Adjust DirectoryWatcher implementation for changed FileChange definition in eventcore. 2017-11-21 21:42:44 +01:00
Sönke Ludwig
8c68a4aeef Bump version number. 2017-11-17 11:56:59 +01:00
Sönke Ludwig
094de42f97 Update change log. 2017-11-17 11:56:18 +01:00
Sönke Ludwig
2a106ebcbb Add FileInfo.hidden. 2017-11-07 16:14:02 +01:00
Sönke Ludwig
b68d23f515
Add opCast(bool) to FreeListRef and remove opAssign with value type. 2017-10-30 22:58:30 +01:00
Sönke Ludwig
340357d455
Let pipe() return the number of bytes written. 2017-10-30 22:55:54 +01:00
Sönke Ludwig
710c996666
Add assertion message. 2017-10-30 22:55:22 +01:00
Sönke Ludwig
874e174d38 Add const overload for Task.tid. 2017-10-24 09:44:54 +02:00
Sönke Ludwig
db449e3cb3 Fix implementation of TCPListener.bindAddress. 2017-09-28 23:52:39 +02:00
Sönke Ludwig
9fe9783443 Convert Waitable from struct to pure template to avoid heap closures.
Also fixes a case where ThreadLocalWaiter.emitSingle overlaps a call to .emit.
2017-09-27 16:41:11 +02:00
Sönke Ludwig
a93b6e1cb1 Move log message to print before shutdown to avoid potential mixup with other log messages during shutdown. 2017-09-21 14:35:53 +02:00
Sönke Ludwig
9e0b5a7821 Fix access violation in the log module when called from a non-D thread. 2017-09-21 14:09:19 +02:00
Sönke Ludwig
a5628230c1 Fix setupWorkerThreads to actually use the provided thread count. See #35. 2017-09-21 13:40:00 +02:00
Sönke Ludwig
dd05676c4e Fix workerThreadCount to return the actual number of threads in the default worker pool. Fixes #35. 2017-09-21 13:39:05 +02:00
Sönke Ludwig
0dbebac482 Add TaskPool.threadCount property. 2017-09-21 13:38:24 +02:00
Sönke Ludwig
8895f62a49
Fix parameter name. 2017-09-15 15:58:35 +02:00
Sönke Ludwig
333643d48e Add interface_address parameter to UDPConnection.addMembership. 2017-09-15 15:54:59 +02:00
Sönke Ludwig
6cf2579206 Fix path construction from segment range with no internal separators. 2017-09-10 00:16:53 +02:00
Sönke Ludwig
cf914d8827 Update version. 2017-09-05 16:05:06 +02:00
Sönke Ludwig
2d0576a5fe
Implement the UDP multicast support methods. 2017-09-03 18:15:52 +02:00
Sönke Ludwig
7e1d6a7323 Add listenUDP overload taking a NetworkAddress. 2017-09-03 15:54:17 +02:00
Sönke Ludwig
1ef8d5206f
Fix handling of the "periodic" argument to the setTimer compatibility overload. 2017-09-03 15:46:50 +02:00
Sönke Ludwig
43260cf982
Log the fiber/task ID in the HTML logger. 2017-09-03 14:17:57 +02:00
Boris-Barboris
a590de154a fix deadlocks, caused by second m_locks increment 2017-08-28 21:58:08 +00:00
Sönke Ludwig
544157c065
Fix return value for FileDescriptorEvent.wait. 2017-08-14 14:27:09 +02:00
Sönke Ludwig
62ee67091d
Enable support for timeouts in FileDescriptorEvent.wait. 2017-08-13 23:35:11 +02:00
Sönke Ludwig
5e979364cb
Fix whitespace. 2017-08-10 11:08:26 +02:00
Sönke Ludwig
24f4e5f70f Resurrect GenericPath.startsWith.
Since the semantics are different w.r.t. path separators, the alternative suggested in the deprecation message is not valid. At least until the comparison/toString semantics of PathSegment have a profound definition, it will be kept around to avoid unneeded interruptions when upgrading to 0.8.x.
2017-08-10 10:09:01 +02:00
Sönke Ludwig
2777b0a6ff
Fix FileDescriptorEvent constructor to adhere to the given event mask. 2017-07-29 13:32:27 +02:00
Sönke Ludwig
a60828d6da Mark more classes as final. 2017-07-23 15:04:11 +02:00
Sönke Ludwig
59ac459cdf Mark all synchronization classes final.
Those classes are not meant as being derived from.
2017-07-23 14:57:48 +02:00
Sönke Ludwig
2ba6c2eca1
Bump version number. 2017-07-20 18:50:40 +02:00
Sönke Ludwig
f81c9175df
Mention that TCPListenOptions.distribute is deprecated. 2017-07-20 18:48:08 +02:00
Sönke Ludwig
be0de0a733 Add assertions for uninitialized LocalManualEvents. 2017-07-20 16:52:35 +02:00
Sönke Ludwig
a6eeae97f3 Fix DirectoryWatcher's creation of its LocalManualEvent. 2017-07-20 16:52:34 +02:00
Sönke Ludwig
f6736d13ab Add test that reproduces the LocalManualEvent copy bug. 2017-07-20 16:14:47 +02:00
Sönke Ludwig
100dfc30ee Add test that triggers the former bug in ThreadLocalWaiter.emit() and ensures FIFO emit order. 2017-07-20 16:10:18 +02:00
Sönke Ludwig
a4b36f08d3 Fix multiple issues in (Local)ManualEvent.
- Copying LocalManualEvent now works correctly, using reference counting
- ManualEvent correctly pins the reference to the thread-local waiter until it has finished emitting it
- ThreadLocalWaiter uses a doubly-linked list to manage task waiters (more efficient deletion, FIFO trigger order)
- Fixed a bug in ThreadLocalWaiter.emit() where the head element of the iterated list might already have stopped waiting, resulting in an invocation of a dangling TaskWaiter pointer
2017-07-20 15:57:44 +02:00
Sönke Ludwig
19db7732e6 Add nothrow annotations. 2017-07-20 13:36:27 +02:00