-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix #1343 - re-enable std.concurrency integration #1345
Conversation
Moving from d8b51c2
Had the same experience a few weeks ago. Also, one question is, are we absolutely certain that the scheduler will be set first ? What if the user doesn't import any vibe.d module from his main (he could use |
That should be the case, since the module constructor would still be in the dependency chain. Not sure if dynamic libraries work correctly, but since the initialization happens in |
There are some unsupported features in std.concurrency that makes it impossible to use for some current use cases: - Non-copyable objects cannot be passed to spawned threads - Tasks started with runTask and runWorkerTask cannot be used as message receivers
std.concurrency caused a driver instance to be created in a libasync control thread.
I just went over the source again and all existing places use vibe.d's own "...Compat" version of the message passing code, so there should be no functional change there. Since the tests are green now, including the message passing tests, I'll merge this now and tag a new pre-release for 0.7.27. |
Fix #1343 - re-enable std.concurrency integration
No description provided.