Commit graph

663 commits

Author SHA1 Message Date
Sönke Ludwig
cde03b0045 Test DMD 2.082.1 and LDC 1.12.0. 2018-10-27 11:17:41 +02:00
Sönke Ludwig
8145bdd112 Update change log. 2018-10-27 11:15:55 +02:00
The Dlang Bot
38a1ef761c
Merge pull request #96 from vibe-d/fix_taskpool_shutdown
Fix TaskPool shutdown and hanging test case
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2018-10-27 03:01:00 +02:00
Sönke Ludwig
4394374364 Fix race-condition in test case.
The wait() call without arguments could miss the initial emit(), if called too late, which could easily happen on VMs with less predictable timing.
2018-10-27 00:44:00 +02:00
Sönke Ludwig
6caff0b105 Fix synchronization and shutdown issues in TaskPool.
- terminate() would hang if called from a worker thread because it would attempt to self-join
- the handleWorkerTasks could miss signal emits, resulting in a hanging task queue or a missed termination signal
2018-10-27 00:42:06 +02:00
Sönke Ludwig
9a4217cd88
Merge pull request #95 from vibe-d/remove_task_pool_event_loop
Avoid starting an explicit event loop in worker threads.
2018-10-23 21:54:51 +02:00
Sönke Ludwig
e011c31c2f
Merge pull request #94 from vibe-d/test_latest_compilers
Fix deprecation warnings on DMD 2.082.0
2018-10-23 15:33:14 +02:00
Sönke Ludwig
849bca4855 Avoid starting an explicit event loop in worker threads.
This reduces the overhead of task pool threads slightly and simplifies stack traces in case of errors.
2018-10-23 11:27:28 +02:00
Sönke Ludwig
eae11d3ba3 Fix deprecation warnings on DMD 2.082.0 2018-10-23 11:25:54 +02:00
Sönke Ludwig
dacd12ed99
Merge pull request #92 from vibe-d/test_latest_compilers
Update compiler support to 2.076.1-2.082.0.
2018-10-02 13:18:21 +02:00
Sönke Ludwig
b6a6863de8 Update change log. 2018-10-02 13:17:46 +02:00
Sönke Ludwig
83b2911564 Update compiler support to 2.076.1-2.082.0. 2018-10-02 13:14:46 +02:00
The Dlang Bot
29dae0e3de
Merge pull request #91 from vibe-d/fix_windows_path_bug
Fix WindowsPath.bySegment of an empty path returning a bogus empty segment.
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2018-10-01 23:24:46 +02:00
Sönke Ludwig
c4af4b2a02 Fix WindowsPath.bySegment of an empty path returning a bogus empty segment. 2018-10-01 21:54:29 +02:00
Sönke Ludwig
2480f6bb67 Allow switchToTask to be called within a yield lock.
Enables waking up other tasks from within a yield lock (executed after the yield lock is lifted).
2018-09-09 11:35:39 +02:00
The Dlang Bot
b5177894d2
Merge pull request #89 from vibe-d/fix_waitfordataasync_scoped_destruction
Fix waitForDataAsync compilation error for callbacks that have scoped…
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2018-09-03 21:14:24 +02:00
Sönke Ludwig
897fee84ea Free resources associated with waitForDataAsync as early as possible.
Instead of letting the GC clean up at an undefined point in time.
2018-09-03 13:45:53 +02:00
Sönke Ludwig
0b638634c9 Fix waitForDataAsync compilation error for callbacks that have scoped destruction. 2018-09-03 12:35:05 +02:00
The Dlang Bot
d8546b843b
Merge pull request #88 from vibe-d/fix_infinite_scheduling_issue
Fix possible infinite loop in TaskScheduler.process.
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2018-08-26 14:18:28 +02:00
Sönke Ludwig
9b2aa13ef4 Fix possible infinite loop in TaskScheduler.process.
Fixes a discrepancy in TaskFiberQueue between empty and length, which causes process() to never return, thus processing events without timeout indefinitely.
2018-08-26 13:03:14 +02:00
Sönke Ludwig
fae7d3e93d
Revert non-compiling change. 2018-07-09 11:58:25 +02:00
Sönke Ludwig
20558e4416
Update change log and bump version number 2018-07-09 09:20:55 +02:00
Sönke Ludwig
5f18693c49
Mark the Path(Segment) constructor as nothrow. 2018-07-09 09:19:35 +02:00
Sönke Ludwig
360f129381
Fix typo 2018-07-09 09:18:59 +02:00
The Dlang Bot
6ca6dd16d4
Merge pull request #80 from wilzbach/make-codecov-optional
Avoid CI failures from CodeCov by making them always green
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2018-06-13 10:45:28 +02:00
The Dlang Bot
79f74532a1
Merge pull request #82 from ohdatboi/log-colour-fix
Fix logger colours to make it look good on terminals with black and white background
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2018-06-13 10:24:14 +02:00
Anton Fediushin
7514f1183e Fix logger colours to make it look good on black and white background 2018-06-09 15:54:24 +02:00
Sönke Ludwig
ecb46db199 Bump version number. 2018-06-05 12:45:01 +02:00
Sönke Ludwig
82d6012efe Update change log. 2018-06-05 12:44:33 +02:00
Sönke Ludwig
61bfbbbac3
Merge pull request #81 from vibe-d/fix_no_loop_message_processing
Fix event processing when calling yield() outside of an event loop.
2018-06-05 12:44:12 +02:00
Sönke Ludwig
463f4e4efb Disable graceful shutdown for SIGABRT on Windows.
Since this is meant specifically for killing the process in bad program states, invoking the normal event loop shutdown code is too risky.
2018-06-05 12:01:20 +02:00
Sönke Ludwig
ebd7cd7393 Fix event processing when calling yield() outside of an event loop.
The exit flag was erroneously set, disabling any event processing during yield() calls when not inside an event loop.
2018-06-05 11:37:58 +02:00
Sebastian Wilzbach
aa0d337acd Avoid CI failures from CodeCov by making them always green 2018-05-05 16:35:16 +02:00
Sönke Ludwig
dfd3d2fd70
Bump version number 2018-04-08 17:58:16 +02:00
Sönke Ludwig
d4c5620d70
Merge pull request #77 from Boris-Barboris/manualevent_overflow
fix integer overflow protection absence for LocalManualEvent
2018-04-08 17:21:14 +02:00
Leonid Kramer
09c21e98a9
Merge pull request #79 from vibe-d/fix_task_running_with_yieldlock
Fix Task.running and Task.yield directly after runTask/yieldLock.
2018-04-08 11:26:09 +02:00
Sönke Ludwig
fd92a7f555 Fix Task.running and Task.yield directly after runTask/yieldLock.
The status of the task was erroneously reported as not running until the task was actually executed for the first time (which only happens after the yield lock has been lifted).
2018-04-08 01:30:43 +02:00
Sönke Ludwig
0d09c3f28d
Merge pull request #78 from wilzbach/dub
Install the newest version of dub to avoid random network failures
2018-04-05 18:00:33 +02:00
Sebastian Wilzbach
228b7d291f Install the newest version of dub to avoid random network failures 2018-04-05 09:17:45 +02:00
Boris-Barboris
788973f628 same measures for ManualEvent 2018-03-30 12:59:24 +00:00
Boris-Barboris
bf9d736c4f another way around. Fix typo in comment. 2018-03-30 10:06:44 +00:00
Boris-Barboris
489b35539b fix comparison in doWait 2018-03-30 09:28:45 +00:00
Boris-Barboris
a840c51c5d fix integer overflow protection absence for LocalManualEvent 2018-03-30 09:17:09 +00:00
Sönke Ludwig
ff93b0de81
Merge pull request #76 from Boris-Barboris/monotime_timeout
MonoTime in loopWithTimeout, and other read tweaks.
2018-03-27 11:28:07 +02:00
Boris-Barboris
eea57f8914 MonoTime in loopWithTimeout, and other read tweaks.
MonoTime is more robust and does not involve sophisticated timezone
shenanigans, making it better suited for networking operations.
Fixes #39.
This commit also distinguishes read timeout exception as Exception child
ReadTimeoutException, wich is thrown from loopWithTimeout function.
Optimistic read branch for tcp socket improves performance on
granular reads.
2018-03-23 06:45:05 +00:00
Sönke Ludwig
2006ace251 Bump version number 2018-03-18 21:36:23 +01:00
Sönke Ludwig
22300ecab8 Update change log. 2018-03-18 21:36:11 +01:00
Sönke Ludwig
267e3c352d
Merge pull request #75 from vibe-d/fix_connect_tcp_cancellation
Fix cancellation of connectTCP in case of early errors.
2018-03-18 21:29:20 +01:00
Sönke Ludwig
e2eef799f8 Fix cancellation of connectTCP in case of early errors.
Certain errors will result in an invalid handle to be returned from eventDriver.sockets.connectStream. In that case it is invalid to call cancelConnect.

Also adds an additional debug log message including a stack trace in case of exceptions thrown from connection handlers.
2018-03-18 12:13:13 +01:00
Sönke Ludwig
88bcae036c
Merge pull request #74 from vibe-d/fix_multithread_destruction
Allow destructors to run in foreign threads. Fixes #69.
2018-03-18 11:09:43 +01:00