Sönke Ludwig
c899798be7
Avoid blocking copy in moveFile.
2019-01-14 00:34:15 +01:00
Benjamin Schaaf
12a8825f86
Fix error message in FileStream.write
2019-01-07 10:26:16 +11:00
Sönke Ludwig
e5ce1394b1
Bump version number.
2018-12-28 14:09:14 +01:00
The Dlang Bot
e5d53249fc
Merge pull request #113 from vibe-d/file_truncate
...
Add FileStream.truncate
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2018-12-28 14:03:19 +01:00
Sönke Ludwig
f35e8f1d69
Add FileStream.truncate.
2018-12-28 10:14:50 +01:00
Hiroki Noda
a408aac808
Use monotonic clock for timeout
2018-12-24 06:22:53 +09:00
Sönke Ludwig
0d3338a16b
Merge pull request #111 from WebFreak001/fix-110
...
Make waitForData not assert fail on close fix #110
2018-12-20 10:14:08 +01:00
WebFreak001
bc3b319783
Fix potential crash if context is null on closed socket
...
If the other side closes the connection this might happen
Without this check the following m_context.readBuffer would segfault
2018-12-20 02:20:41 +01:00
WebFreak001
c8ab6ae2f8
Make waitForData not assert fail on close fix #110
2018-12-20 02:10:40 +01:00
Mathias L. Baumann
e2834a245b
UDP connect wrongly passes port as addr family to resolveHost
2018-12-08 10:14:59 +01:00
Sönke Ludwig
26b6190743
Bump version number.
2018-11-23 22:28:33 +01:00
Sönke Ludwig
b5442b5efd
Make sure that pending but unreferenced timers still invoke their callback. Fixes #104 .
2018-11-23 15:52:18 +01:00
Sönke Ludwig
aca672416c
Fix host name conversion code for SyslogLogger.
...
See vibe-d/vibe.d#2220
2018-11-07 09:41:57 +01:00
Martin Nowak
277e998167
fix relying on implicit const conversion of JSONValue
...
- "key" in JSONValue returns const(JSONValue)*
- fromValue expected non-const JSONValue
- implicit conversion of const(JSONValue) to JSONValue to be fixed
with https://github.com/dlang/phobos/pull/6716
2018-11-01 12:59:44 +01:00
Sönke Ludwig
c3272f7d1f
Fix assertion in SpinLock when called from a signal handler.
...
Since the signal handler can be called in any thread of the application, it may happen so in a non-D thread where Thread.getThis() returns null. This change works around this and also removes the need to call SpinLock.setup on thread startup.
2018-10-30 12:39:08 +01:00
Sönke Ludwig
8c4b147605
Bump version number.
2018-10-27 20:14:09 +02:00
Sönke Ludwig
f5665aa7c1
Fix compilation on older DMD frontends.
2018-10-27 16:31:59 +02:00
Sönke Ludwig
78fef30310
Implement callback based timers without relying on a task. Fixes #86 .
...
In the previous implementation, the callback tasks were starving as soon as the last external reference to a non-pending timer was given up.
2018-10-27 15:48:21 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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