Sönke Ludwig
2653c8c5e0
Always remove task from queue when switching to it. Fixes #58 .
...
Previously the task was only removed if switchTo was called from another task. Now it also gets removed when switchTo (e.g. due to a runTask() call) gets called form outside of a task.
2018-02-23 01:25:13 +01:00
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