Commit graph

578 commits

Author SHA1 Message Date
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
Sönke Ludwig 58dc8459c2
Merge pull request #73 from vibe-d/interfaceproxy_tests
Add unit test for postblit behavior of InterfaceProxy.
2018-03-17 14:30:13 +01:00
The Dlang Bot f29f6564bb
Merge pull request #72 from Archipel/master
Re-introduced setCommandLineArgs from vibe-d:core-0.8.2 (pull/1916)
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2018-03-16 23:23:08 +01:00
Sönke Ludwig 2c63aa5c5c Allow destructors to run in foreign threads. Fixes #69.
This change modifies destructors to anticipate that they can be called form a foreign thread if the GC is involved. The actual release of the reference will then happen deferred in the original thread.
2018-03-16 18:06:53 +01:00
Sönke Ludwig 967654f175 Add unit test for postblit behavior of InterfaceProxy. 2018-03-16 18:00:56 +01:00
Thomas Weyn b7e0194414 Re-introduced setCommandLineArgs from vibe-d:core-0.8.2 (pull/1916) 2018-03-14 22:04:20 +01:00
Sönke Ludwig 14f4e06b8a
Merge pull request #71 from vibe-d/download_dub_from_github
Download DUB from GitHub instead of code.dlang.org.
2018-03-12 19:40:45 +01:00
Sönke Ludwig bd0abb7409 Download DUB from GitHub instead of code.dlang.org. 2018-03-12 12:59:12 +01:00
Sönke Ludwig 24ee40ea25
Merge pull request #70 from vibe-d/fix_connectionpool_tcpconnection
Fix compilation of ConnectionPool!struct. Fixes vibe-d/vibe.d#2109.
2018-03-11 12:21:19 +01:00
Sönke Ludwig 8ee5f4460c Fix compilation of ConnectionPool!struct. Fixes vibe-d/vibe.d#2109.
ConnectionPool!TCPConnection used to work with the old vibe-d:core implementation, but now failed, because TCPConnection is a struct. All assumptions about `Connection` being a class have been remove in this commit.
2018-03-11 00:07:42 +01:00
Sönke Ludwig 47cfbff1dc
Merge pull request #68 from vibe-d/fix_ldc_macos
Ensure async lambdas are templates to fix LDC linker errors. Fixes #65.
2018-03-08 15:40:02 +01:00
Sönke Ludwig 84cf2fd519 Update change log. 2018-03-08 15:39:39 +01:00
Sönke Ludwig eb3620056f Ensure async lambdas are templates to fix LDC linker errors. Fixes #65.
If the lambda is a concrete function, two different versions will end up for it in the final binary on macOS when compiled with LDC. Using argument inference works around that issue.
2018-03-08 14:24:22 +01:00
Sönke Ludwig 258abe0844 Update change log. 2018-03-07 11:50:54 +01:00
Sönke Ludwig a1a0d52fe6
Merge pull request #67 from vibe-d/issue_66_yield_exit_eventloop
Don't exit event loop prematurely.
2018-03-07 10:39:55 +01:00
Sönke Ludwig 7703cc675f Fix a race-condition in TaskPool.
The lock that should surround the foreach loop was given up prematurely.
2018-03-07 10:39:28 +01:00
Sönke Ludwig 66c9aeea57 Don't exit event loop prematurely. Fixes #66.
Idle processing needs to check whether there are still tasks scheduled to be resumed before setting the exit flag when there are no more waiters (I/O etc.).
2018-03-06 23:41:56 +01:00
Sönke Ludwig c88964337a Add test for issue #66. 2018-03-06 23:39:57 +01:00
Sönke Ludwig eb046e2295 Fix deprecation warnings on DMD 2.079.0. 2018-03-06 20:13:59 +01:00
Sönke Ludwig 5dad437e10 Update change log. 2018-02-26 20:48:39 +01:00
Sönke Ludwig 595beb2c60 Bump version number. 2018-02-26 20:40:28 +01:00
Sönke Ludwig 9c82693906 Reorder README sections and remove "designated" status. 2018-02-26 20:39:51 +01:00
Sönke Ludwig 103fb0e999 Update copyright date. 2018-02-26 20:38:54 +01:00
Sönke Ludwig 819164ea7f Add LICENSE files. 2018-02-26 20:38:41 +01:00
Sönke Ludwig 6aa5cddf33
Merge pull request #62 from FraMecca/master
TCPConnection.waitForDataAsync
2018-02-26 20:33:53 +01:00
Sönke Ludwig 57d516a82b
fixup 2018-02-26 19:40:13 +01:00
Sönke Ludwig e33cf567ec
Change callback semantics of waitForDataAsync
Also adds a documentation comment to specify the semantics.
2018-02-26 13:15:24 +01:00
Francesco Mecca 99e2873cc0 assert and stronger condition on TCPConnection.waitForDataAsync
assert and stronger condition on TCPConnection.waitForDataAsync
2018-02-24 21:32:54 +01:00
Sönke Ludwig 98280be27b
Merge pull request #60 from vibe-d/issue58_task_already_scheduled
Fix unscheduling tasks when resuming from outside of a task.
2018-02-24 11:08:42 +01:00
Sönke Ludwig f0bdaa0778 Increase test timeout. 2018-02-23 15:49:49 +01:00
Sönke Ludwig 58ae644c94 Fix AppVeyor LDC 1.7.0 download URL. 2018-02-23 11:08:49 +01:00
Francesco Mecca 20e32cf327 added Timer and enum return to TCPConnection.waitForDataAsync 2018-02-23 00:27:04 +00:00
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 0ff503afa6 Add test case for #58. 2018-02-23 01:25:10 +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 53ea380df8
Merge pull request #61 from vibe-d/update_compiler_versions
Test on DMD 2.078.3 and LDC 1.7.0.
2018-02-22 19:52:49 +01:00