Commit graph

777 commits

Author SHA1 Message Date
Leonid Kramer 983cc15f70
Merge pull request #236 from vibe-d/fix_task_interrupt_assertion_failure
Avoid bogus "A task cannot interrupt itself" assertion failure.
2020-11-20 09:53:17 +01:00
Sönke Ludwig 3182160a9a Avoid bogus "A task cannot interrupt itself" assertion failure.
Calling Task.interrupt() on a task that is already finished, but ran on the same fiber would trigger an assertion failure instead of returning silently.
2020-11-19 16:06:49 +01:00
Sönke Ludwig a170973cfd
Merge pull request #234 from vibe-d/deprecation_fix
Avoid instantiating emplace(O) for class instances
2020-11-14 19:31:04 +01:00
Sönke Ludwig b160f80af6 Avoid instantiating emplace(O) for class instances.
Fixes a deprecation warning for ProxyStream.
2020-11-14 09:42:05 +01:00
Sönke Ludwig 65b921cc65
Merge pull request #233 from vibe-d/concurrent_pipe
Add a concurrent pipe() mode
2020-10-24 16:38:18 +02:00
Sönke Ludwig 131f7f5e54 Bump version to 1.11.0 2020-10-24 11:51:09 +02:00
Sönke Ludwig 4168d40b2b Update change log. 2020-10-24 11:51:09 +02:00
Sönke Ludwig 1ec93b5336 Fix test transition between different directory watchers. 2020-10-24 11:51:09 +02:00
Sönke Ludwig 2ea3a7ceb1 Refactor read loop to avoid code duplication. 2020-10-21 20:05:00 +02:00
Sönke Ludwig eb183d5ab2 Use concurrent pipe() in copyFile(). 2020-10-21 17:37:36 +02:00
Sönke Ludwig 730b42bf31 Add a test for pipe(). 2020-10-21 17:37:35 +02:00
Sönke Ludwig f3f60ee870 Implement a concurrent mode for pipe().
This maximizes throughput for typical disk I/O loads.
2020-10-21 17:37:33 +02:00
Sönke Ludwig a736481467 Update change log and bump version to 1.10.3. 2020-10-15 14:13:16 +02:00
Sönke Ludwig 97fdff2574
Merge pull request #232 from vibe-d/waitfordataex_fix
Fix waitForDataEx's return value for an open connection and a zero timeout
2020-10-15 14:03:21 +02:00
Sönke Ludwig ae6506289a Fix waitForDataEx's return value for an open connection and a zero timeout.
IOMode.once causes the read() to return with IOStatus.wouldBlock immediately, which previously resulted in erroneously reporting WaitForDataStatus.noModeData instead of timeout.

See vibe-d/vibe.d#2483
2020-10-15 13:13:15 +02:00
Sönke Ludwig 4357b32375
Merge pull request #230 from vibe-d/github-actions
Add initial GitHub actions
2020-09-21 10:51:23 +02:00
Sebastian Wilzbach 86e08b1334 Add initial GitHub actions + replace AppVeyor 2020-09-20 08:52:40 +02:00
Sönke Ludwig be0e3e033b Bump version to 1.10.2. 2020-09-19 00:07:58 +02:00
Sönke Ludwig ad1184cfa5 Update change log. 2020-09-18 23:20:29 +02:00
Leonid Kramer 483725f5eb
Merge pull request #228 from vibe-d/interfaceproxy_null
Fix InterfaceProxy to work with null values.
2020-09-18 23:04:02 +02:00
Leonid Kramer 5f0bac04f3
Merge pull request #227 from vibe-d/eventcore_fileio_cancel_workaround
Work around critical issue in eventcore's cancelRead/cancelWrite.
2020-09-18 22:58:34 +02:00
Sönke Ludwig 3b82d4adca Fix InterfaceProxy to work with null values.
Previously caused crashes and opCast!bool to return true for null instances.
2020-09-18 10:10:26 +02:00
Sönke Ludwig f5c6099656 Work around critical issue in eventcore's cancelRead/cancelWrite.
The file I/O versions of cancelRead and cancelWrite in eventcore currently do not reliably cancel the operation in a synchronous fashion, leading to continued buffer accesses after the cancellation call. In case of the Windows version, this also means that the OVERLAPPED structure can be illegally reused for the next operation, while the previous one hasn't been canceled, yet.

A solution to this issue may require a fundamental change in the file I/O API of eventcore, and the optimal design of that still needs to be worked out. For this reason, we simply avoid using the cancellation functions in vibe-core for now to avoid memory corruption issues. This does mean that interrupting a task that does file I/O won't work anymore.
2020-09-18 10:09:16 +02:00
Geod24 bc7521ed1f Add release notes for v1.10.1 2020-08-31 18:18:52 +02:00
Geod24 9a685523f9 Add support for DMD 2.094 -preview=in switch
This will allow users to use -preview=in as soon as it's released.
2020-08-31 06:59:50 +02:00
Geod24 258342163f Bump version and add changelog for v1.10.0 2020-08-24 05:17:59 +02:00
Geod24 bd8c2c6e90 Use logException consistently and use logDiagnostic
Many places around were re-inventing logException with varying level of success.
In addition, the full error is now printed as a diagnostic instead of debug.
This is more in line with the description of `LogLevel.diagnostic`
("Extended user information (e.g. for more detailed error information)"),
as opposed to the one of `LogLevel.debug_`
("Developer information useful for algorithm debugging").
2020-08-24 05:17:59 +02:00
Geod24 f3accb40d5 Replace compile-time logging arguments file / line with runtime one
Since DMD v2.079.0 it is possible to put default, always-used default parameters
after variadic arguments (as long as IFTI is used).
This way we can move all the compile-time arguments, which would always trigger
a template instantiation, to runtime arguments, and re-enable module and function.
2020-08-24 05:17:59 +02:00
Geod24 55cd727266 Update test compilers; raise minimum to 2.079 2020-08-24 05:17:59 +02:00
Sönke Ludwig e04258a7d8
Merge pull request #222 from Geod24/changelog
Cleanup deprecations in test-suite and update release notes
2020-08-21 10:52:37 +02:00
Geod24 10be0035d7 Update release notes for v1.9.4 2020-08-21 15:40:37 +09:00
Geod24 ca9119af62 Fix deprecations in tests and examples 2020-08-21 15:39:02 +09:00
Steven Dwy 467c6a0996 resolveHost: Check expected address family on returned address
The code as is never checks the requested address family when doing a DNS query,
so resolving an IPv6 only host with AddressFamily.INET would still return an IPv6.
2020-08-21 07:19:39 +02:00
Geod24 eef6be673b Workaround dub bug by using '--single'
Recently, dub was upgraded from v1.18.0 to v1.22.0
(the remote LATEST file was fixed), which caused half of the test-suite
(all non select-based configs) to fail, because the 'args' test would
somehow run the `0-tcp.d` file.
This works around the problem by using `--single` explicitly.
2020-08-21 03:31:28 +02:00
Geod24 13c61544fe Improve output of tests/args.sh when failing 2020-08-21 03:31:28 +02:00
Geod24 1d648ce5ae Fix exclusion list to properly exclude broken LDC releases 2020-08-19 11:00:09 +02:00
Sönke Ludwig 11a42dcc08
Merge pull request #220 from AndrejMitrovic/add-timeout
Add optional timeout parameter to resolveHost
2020-08-19 10:37:15 +02:00
Andrej Mitrovic f2c6cea071 Add optional timeout parameter to resolveHost
This will be useful in e.g. the client,
which uses connection timeouts but does not use
any timeout for resolving the host as of yet.
2020-08-19 13:47:34 +09:00
Geod24 b417214e32 Bump version and add changelog for v1.9.3 2020-08-03 02:34:08 +02:00
Geod24 a83b6a75e8 Improve error messages for unimplemented interfaces
Using backtips in the message of a static assert means that
the message will get the same syntax highlight as a compiler error message.
2020-08-02 18:25:01 +02:00
Geod24 e51a019d69 Add 'return' annotations to some tests
Currently those trigger deprecations messages.
Since they are just used in unittests, it doesn't affect client code.
2020-08-02 17:16:25 +02:00
Geod24 9ae3a2a263 Change a unittest that test for 'in' => 'const' lowering
As explained in details in dlang/dmd#11000 and dlang/dmd#11474,
'in' has been for a very long time lowered to simply 'const',
or 'scope const' when v2.092.0's '-preview=in' switch is used.
DMD PR 11474 aims to change this, so 'in' is not (visibly)
lowered, and shows up in any user-visible string.
This includes header generation, error messages, and stringof.
Since this code was testing stringof directly, it is affected
by the change. To support testing of both aforementioned DMD PRs,
the change is not tied to a version,
but uses the (soon-to-be) old way as a fallback.
2020-08-02 12:54:58 +02:00
Geod24 9b370b9a87 Remove unused import to enforceEx
This function wasn't used anymore, but still imported, despite being deprecated.
It was scheduled to be removed a few releases ago (see dlang/phobos#7545).
2020-08-02 12:54:34 +02:00
Sönke Ludwig b1a35a6241 Bump version. 2020-05-28 21:57:45 +02:00
Leonid Kramer b7dffd5b2a
Merge pull request #211 from vibe-d/cfrunloop
Add "cfrunloop" configuration for macOS.
2020-05-28 20:37:16 +02:00
Sönke Ludwig 00bc3dade5 Test cfrunloop on macOS.
The raw kqueue loop is now only tested once with the current version of DMD and LDC.
2020-05-25 11:38:39 +02:00
Sönke Ludwig 5333e4a191 Run high level tests with the correct configuration. 2020-05-25 11:37:33 +02:00
Sönke Ludwig 4f57a98130 Update change log. 2020-05-24 10:29:27 +02:00
Sönke Ludwig bc2e3c42bf Update tested compiler range. 2020-05-24 10:29:19 +02:00
Sönke Ludwig 6b1c26eec6 Add "cfrunloop" configuration for macOS.
Also requires at least eventcore 0.9.2 to work.
2020-05-24 10:07:26 +02:00