Commit graph

523 commits

Author SHA1 Message Date
Sönke Ludwig 719c62d6c9
Fix TLS initialization condition. 2017-07-16 00:08:07 +02:00
The Dlang Bot 9e390de9bf Merge pull request #23 from vibe-d/manual_event_fix
Fix double-free of ThreadLocalWaiter in ManualEvent.
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2017-07-15 18:17:21 +02:00
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