Commit graph

679 commits

Author SHA1 Message Date
Sönke Ludwig
d9e545bf60 Fix getFileInfo's exception handling and reduce overhead of the background work.
Instead of asyncWork, now uses a worker task directly and signals the finalization of the result using message passing. This avoids the roundtrip required to return the task handle, as well as the heap allocated result buffer of Future!T.
2019-08-25 12:02:08 +02:00
Sönke Ludwig
d7dfb6cd23 Bump version number. 2019-08-24 16:36:48 +02:00
Sönke Ludwig
5c1992ac6a Update change log. 2019-08-24 16:35:50 +02:00
The Dlang Bot
beac700a5b
Merge pull request #166 from vibe-d/update_compiler_support
Update to DMD 2.087.0 and LDC 1.6.0.
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2019-08-24 11:34:26 +02:00
Sönke Ludwig
d549829c88 Fix process test. 2019-08-24 10:19:29 +02:00
Sönke Ludwig
771dc872c2 Restrict the set of tested compiler versions to the latest 4 + the oldest supported. 2019-08-23 09:54:22 +02:00
Sönke Ludwig
3e619560af Add watchdog and log output to vibe.core.process test. 2019-08-22 21:58:05 +02:00
Sönke Ludwig
c74ce47cc9 Update to DMD 2.087.1 and LDC 1.6.0. 2019-08-22 21:58:05 +02:00
Sönke Ludwig
ce1adf8c3b
Merge pull request #172 from vibe-d/async_file_operations
Avoid all blocking file operations outside of worker threads
2019-08-21 20:59:45 +02:00
Sönke Ludwig
a2f970b7b2
Merge pull request #165 from vibe-d/pure_parent_path
Make GenericPath.parentPath pure.
2019-08-21 19:26:00 +02:00
Sönke Ludwig
84907ddbe3
Merge pull request #168 from v1ne/fix-appending-to-file
FileStream: Adjust file offset when appending to a file
2019-08-21 19:25:17 +02:00
Sönke Ludwig
f6b97b04c3 Make GenericPath.parentPath pure. 2019-08-21 13:57:54 +02:00
Sönke Ludwig
e3a38b374e Let all non-aio file system functions run in worker threads.
This avoids stalling the event loop in case of lengthy I/O (network shares, spinning up hard drives etc).
2019-08-21 13:34:00 +02:00
Sönke Ludwig
881e3da5f9 Make async marked safe if possible and add asyncWork.
asyncWork is the same as async, except that it guarantees that the computation happens in a worker thread.
2019-08-21 13:34:00 +02:00
Sönke Ludwig
4f5636dadf Mark async/Future and runWorkerTaskH as safe. 2019-08-21 13:34:00 +02:00
Sönke Ludwig
7c609dd07f
Merge pull request #169 from tchaloupka/connpool_unlockOnErr
Unlock ConnectionPool on failure
2019-07-31 22:38:37 +02:00
Tomáš Chaloupka
4e8302d10d unlock ConnectionPool on failure 2019-07-31 14:41:26 +02:00
v1ne
513bebcb95 FileStream: Approximate the file offset better when appending
Instead of starting at zero, start at the current file size. This offset
is stored in FileStream. It is only an approximation because concurrent
writes could advance the file without FileStream's knowledge.

Add a test that shows that the offset is approximated as expected and that
appending to an existing file works, too.

This is also a regression test which shows that appending to an existing
file works as expected. See vibe-d/eventcore#115.
2019-07-26 00:38:15 +02:00
v1ne
ce9faec1c1 FileStream: Forbid seek(.) or truncate(.) when appending to a file
Those functions do not work for files opened for appending. Make this clear.
2019-07-26 00:29:59 +02:00
v1ne
3ebb065509 Clean up: Use "enforce" 2019-07-26 00:29:59 +02:00
Sönke Ludwig
382a8d8a11 Fix missing link. 2019-06-22 09:29:30 +02:00
Sönke Ludwig
e5f45718f6 Bump version number. 2019-06-21 21:44:27 +02:00
Sönke Ludwig
11bd8e8ff1 Update change log. 2019-06-21 21:43:58 +02:00
Leonid Kramer
9eeca0ad42
Merge pull request #164 from vibe-d/detect_terminated_drivers
Handle terminated eventcore drivers gracefully when releasing handles.
2019-06-21 21:12:52 +02:00
Sönke Ludwig
04d01b0f31 Handle terminated eventcore drivers gracefully when releasing handles.
Instead of crashing, this now prints a warning message. See #135.
2019-06-20 11:56:22 +02:00
Leonid Kramer
c39fdb2208
Merge pull request #163 from vibe-d/issue157-empty-consumeOne-on-closed-channel
Fix empty-consumeOne channel usage pattern for a single consumer
2019-06-20 09:31:13 +02:00
Leonid Kramer
a200328a0d
Merge pull request #162 from vibe-d/issue161-multiple-joiners
Fix Task.join() for multiple callers. Fixes #161.
2019-06-20 09:30:49 +02:00
Sönke Ludwig
37ad77c701 Let empty block to make sure the following consumeOne succeeds.
This change ensures that a return value of false guarantees the next call to consumeOne to succeed, meaning that the combination of empty/consumeOne is sound in a single-consumer scenario. This also updates the documentation to stress that tryConsumeOne is still the preferred API.
2019-06-16 23:00:05 +02:00
Sönke Ludwig
19ea38fc72 Add test for #157. 2019-06-16 23:00:04 +02:00
Sönke Ludwig
8c63f79ea7 Avoid yielding in the task finalization phase. Fixes #161.
Makes sure that the task finalization finishes (including notifying possibly multiple joiners) before the fiber yields, because it won't be resumed by the scheduler before the next task gets assigned to the fiber.
2019-06-16 22:44:11 +02:00
Sönke Ludwig
41c18aef74 Add test for issue #161. 2019-06-16 21:30:18 +02:00
Sönke Ludwig
79bb21c6a3 Bump version number. 2019-06-16 15:10:50 +02:00
Sönke Ludwig
e7d40e9b4c Update change log. 2019-06-16 15:10:50 +02:00
Sönke Ludwig
989577ff23 Fix copyFile setting file times of write protected files. 2019-06-16 15:10:50 +02:00
The Dlang Bot
b68c8b12f9
Merge pull request #160 from vibe-d/leastsize_timeout
Let TCPConnection.leastSize time out according to the readTimeout property
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2019-06-16 15:06:05 +02:00
Sönke Ludwig
0d78dfe4a9 Let TCPConnection.leastSize time out according to the readTimeout property.
Fixes #153.
2019-06-16 09:55:00 +02:00
Leonid Kramer
1d917568e5
Merge pull request #159 from vibe-d/waitfordataex
Add TCPConnection.waitForDataEx
2019-06-12 20:41:16 +02:00
Sönke Ludwig
0fdc38d394
Merge pull request #158 from vibe-d/update_compiler_support
Update compiler support.
2019-06-12 20:14:50 +02:00
Sönke Ludwig
5393109669 Add TCPConnection.waitForDataEx.
Allows to distinguish between timeout and no more data cases.
2019-06-04 15:20:54 +02:00
Sönke Ludwig
54208ba46f Require eventcore 0.8.43 for process and reuseAddress support. 2019-06-04 15:19:52 +02:00
Sönke Ludwig
a0b7b77d19 Update change log. 2019-06-04 14:44:59 +02:00
Sönke Ludwig
b44c6738c6 Update compiler support. 2019-06-04 11:45:45 +02:00
Sönke Ludwig
a102047d30 Update change log. 2019-06-04 11:36:51 +02:00
Sönke Ludwig
33014fde5f
Merge pull request #154 from BenjaminSchaaf/process
Implement vibe.core.process for subprocess handling similar to std.process
2019-06-04 11:18:34 +02:00
Benjamin Schaaf
68dd4baa44 s/registerProcess/adoptProcessID/g 2019-06-04 10:13:00 +10:00
Benjamin Schaaf
5f5a831444 Add comment 2019-06-03 10:04:56 +10:00
Benjamin Schaaf
ab26527e7a Fix compiling tests/vibe.core.process.d for versions < 2080 2019-06-02 22:54:59 +10:00
Benjamin Schaaf
0d4840b81d Address review comments 2019-06-02 14:42:41 +10:00
The Dlang Bot
7f6da411f5
Merge pull request #156 from Geod24/variant
Remove useless imports to std.variant
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2019-05-28 08:38:29 +02:00
Geod24
40f82b22e5 Remove useless imports to std.variant 2019-05-28 14:24:42 +09:00