-
-
Notifications
You must be signed in to change notification settings - Fork 415
add lowlevel thread support #2519
Conversation
Thanks for your pull request, @rainers! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + druntime#2519" |
Could the high-level thread code be refactored on top of the low-level code added here? |
Possible, but with a couple of complications, because some high level variables are changed inbetween (e.g. m_hndl, m_isRunning). That would probably need a greater refactoring. |
If the symbols added here are to be public, then I think that would make this a situation that @andralex asked to be notified about. |
I wouldn't mind keeping the symbols "private", i.e. undocumented, but I want to call them from the GC. |
The GC is not in the |
No, it has its own top level package |
This needs another patch to weka-io/mecca |
That patch for weka is blocked on https://issues.dlang.org/show_bug.cgi?id=19761 |
Why does CircleCI fail to install DMD? |
This otherwise looks go to me but CircleCI is required. |
__gshared size_t ll_nThreads; | ||
__gshared ThreadID* ll_pThreads; | ||
|
||
__gshared align(Mutex.alignof) void[__traits(classInstanceSize, Mutex)] ll_lock; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: this is alignment is insufficient for targets with strict alignment requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, will need to be updated in lock-step with Thread._locks.
another extract of #2514