Sönke Ludwig
7efb496208
Fix double-free of ThreadLocalWaiter in ManualEvent.
...
Also adds assertions and a randomized multi-thread test to rule out similar issues with a higher confidence.
2017-07-15 18:16:13 +02:00
Sönke Ludwig
254d91dcdf
Improve error message.
2017-07-15 10:12:52 +02:00
Sönke Ludwig
87296bb1e4
Fix compilation error for VibeIdleCollect.
2017-07-10 19:46:16 +02:00
Sönke Ludwig
efeab80bd3
Update change log.
2017-07-10 11:22:26 +02:00
Sönke Ludwig
ca2f9dbe91
Add UDP multicast declarations matching rejectedsoftware/vibe.d#1806 .
...
The actual functionality still needs to be implemented in eventcore.
2017-07-08 10:44:42 +02:00
Sönke Ludwig
429d5dcb77
Fix GenericPath.parentPath.
2017-07-07 22:29:12 +02:00
Sönke Ludwig
b501d419f8
Test all branches with AppVeyor.
2017-07-07 02:38:23 +02:00
Sebastian Wilzbach
cb169b8502
Merge pull request #22 from wilzbach/remove-stdc
...
Remove deprecated stdc import
merged-on-behalf-of: Sebastian Wilzbach <wilzbach@users.noreply.github.com>
2017-07-05 14:19:29 +02:00
Sebastian Wilzbach
8f89733a86
Remove all trailing whitespace
...
sed 's/[ \t]*$//' -i **/*.d
2017-07-03 12:19:27 +02:00
Sebastian Wilzbach
3faa5f3bdc
Add check for trailing whitespace
2017-07-03 12:19:23 +02:00
Sebastian Wilzbach
04b3575c14
Remove deprecated stdc import
2017-07-03 00:39:41 +02:00
Sönke Ludwig
346ce03cbd
Merge pull request #19 from wilzbach/codecov
...
Add initial CodeCov setup
2017-07-01 12:55:40 +02:00
Sebastian Wilzbach
786c1fce03
Add .lst files to .gitignore
2017-06-30 03:40:11 +02:00
Sebastian Wilzbach
e6509bdd2b
At initial CodeCov setup
2017-06-30 03:31:34 +02:00
Sönke Ludwig
490037a5bd
Merge pull request #18 from vibe-d/fix_for_dmd2075
...
Use a thread local allocator instead of processAllocator in HashMap.
2017-06-28 18:12:48 +02:00
Sönke Ludwig
58ee4a8839
Use a thread local allocator instead of processAllocator in HashMap.
...
This is required since processAllocator returns an ISharedAlloactor since 2.075.0. Because HashMap is operating only thread-local, this should generally be safe.
2017-06-28 17:22:13 +02:00
Sönke Ludwig
01ed0a43de
Adjust for eventcore 0.8.12.
2017-06-27 01:11:50 +02:00
Sönke Ludwig
67e57f34d6
Update .gitignore.
2017-06-22 20:34:29 +02:00
Sönke Ludwig
f123e55fa9
Fix assertion condition.
2017-06-22 16:22:11 +02:00
Sönke Ludwig
ed9efd9f44
Merge pull request #10 from wilzbach/allow-removal-of-the-default-logger
...
Allow removal of the default logger
2017-06-22 10:25:20 +02:00
Sönke Ludwig
7910fbc973
Update compiler support list.
...
See also #14 .
2017-06-22 10:21:26 +02:00
Sönke Ludwig
3717e62232
Add change log.
2017-06-22 10:18:32 +02:00
Sönke Ludwig
fd93ab82f5
Remove deprecation attribute for the system overload of setTimer.
...
The approach for now is to keep overloads that receive system delegates and are also marked system in turn. This breaks safety promises in some places within the library, but is an acceptable first step that keeps other possible directions open.
2017-06-22 09:38:56 +02:00
Sönke Ludwig
f40da06385
Update version number.
2017-06-22 09:36:49 +02:00
Sönke Ludwig
5da617eca4
Merge pull request #17 from vibe-d/revamp_path
...
Redesign the Path type to statically encode the path format.
2017-06-21 14:20:35 +02:00
Sönke Ludwig
07e077a009
Redesign the Path type to statically encode the path format.
...
The previous design, while intended as an improvement over the one-size-fits all Path struct of vibe-d:core, turned out to produce lots of bugs during the transition, because of missing Path.type checks.
The new design uses a cleaner approach, where the static type of a path value encodes the path format. An explicit cast is necessary to convert between different path types. The internet path type also performs proper validation and percent encoding, so that InetPath.toString() always produces a valid URI path.
2017-06-21 14:04:24 +02:00
Sönke Ludwig
7d7e4709c1
Fix nothrow overloads of lock().
2017-06-15 13:45:14 +02:00
Sönke Ludwig
0d164708ec
Fix Windows->inet/Posix path conversion issue.
2017-06-15 10:04:55 +02:00
Sönke Ludwig
d5448e2986
Fix typo
2017-06-12 22:18:43 +02:00
Sönke Ludwig
5c156d1e90
Clarify async() semantics.
2017-06-12 17:34:09 +02:00
Sönke Ludwig
62e3add3ab
Fix a number of issues related to mixing different path types.
2017-06-12 17:33:25 +02:00
Sönke Ludwig
6f7c897f91
Fix getFileInfo name return value for paths that end with a slash.
2017-06-12 17:31:52 +02:00
Sönke Ludwig
b5952208bc
Add an introductory section to README.md. Fixes #16 .
2017-06-12 13:56:19 +02:00
Sönke Ludwig
8eece82992
Merge pull request #15 from vibe-d/yieldlock
...
Add yieldLock() to enable enforcing no task switches within a specific scope.
2017-06-11 12:10:29 +02:00
Sönke Ludwig
bc689489a8
Add yieldLock(), which enables enforcing no task switches within a scope.
...
runTask() was altered to delay the task switch in case it gets called within an active yieldLock(), so that running tasks is still possible.
2017-06-11 11:40:25 +02:00
Sönke Ludwig
698824e811
Partially implement FileDescriptorStream.
...
Currently only works for waiting on read-readiness (eventcore is not exposing an analog function for write-readiness).
2017-05-30 11:02:22 +02:00
Sönke Ludwig
99a5b882d8
Limit the number of recycled fibers.
...
This allows the process to free up memory after heavy load spikes, while not impacting performance negatively.
2017-05-30 11:00:37 +02:00
Sönke Ludwig
0aed5664ef
Let openFile throw on failure instead of returning an invalid stream.
2017-05-30 10:57:31 +02:00
Sönke Ludwig
52ead0891f
Add test for rejectedsoftware/vibe.d#1726 .
2017-05-16 09:40:18 +02:00
Sönke Ludwig
6b98f04983
Merge pull request #12 from DBankov/Fix-for-#11
...
Fix for #11 . Cross port of fix for #1742 from vibe.d
2017-04-15 00:44:54 +02:00
Dentcho Bankov
aef2936abd
Fix for #11 . Cross port of fix for #1742 from vibe.d
2017-04-15 00:04:08 +03:00
Sönke Ludwig
e3c680b0ce
Add assertion to ManualEvent to check for failure of creating event handles.
2017-03-27 16:32:24 +02:00
Sönke Ludwig
0895cd1960
Avoid bogus assertion failure.
...
Since the task queue entries never got cleaned up, the assertion got triggered once already used queue slots were starting to get reused.
2017-03-27 16:31:52 +02:00
Sönke Ludwig
e81589fa3e
(Re)implement JSON configuration support for readOption.
...
Since the core->data dependency was removed, this had to be commented out. It is now implemented in terms of std.json.
2017-03-25 14:16:22 +01:00
Sönke Ludwig
e769a9b1ca
Avoid lazy evaluation of log arguments while the loggers are locked. Fixes rejectedsoftware/vibe.d#1717 .
...
The deadlock happened because a function that waits for a worker task to finish was passed to the log functions. Evaluated lazily, it got called while the logger's mutex was locked, meaning that any log call from within that thread would cause a deadlock.
This change also has another, possibly important, implication - arguments are evaluated only once instead of possibly multiple times if multiple loggers are registered. This could very well make a lot of existing (wrong) code more robust (e.g. logInfo("%s", i++)).
2017-03-23 17:55:51 +01:00
Sönke Ludwig
bcf1dfe799
Merge pull request #9 from wilzbach/add-gitignore
...
[Trivial] Add generated executables to .gitignore
2017-03-23 11:49:48 +01:00
Sebastian Wilzbach
c80a15321e
Allow removal of the default logger
2017-03-22 13:45:32 +01:00
Sebastian Wilzbach
45cc1fb954
Add executeables to .gitignore
2017-03-22 13:41:38 +01:00
Sönke Ludwig
e3f9d07e58
Don't store local/remote address for UDP connections.
...
Errored out due to the space requirements of UNIX addresses.
2017-03-10 23:00:43 +01:00
Sönke Ludwig
5fd9fc4007
Always compute TCPConnection.xxxAddress on demand.
...
Storing the network addresses becomes too expensive with UNIX socket support.
2017-03-10 21:06:18 +01:00