Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Conversation

rainers
Copy link
Member

@rainers rainers commented Mar 24, 2019

another extract of #2514

@dlang-bot
Copy link
Contributor

Thanks for your pull request, @rainers!

Bugzilla references

Your 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 locally

If 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"

@CyberShadow
Copy link
Member

Could the high-level thread code be refactored on top of the low-level code added here?

@rainers
Copy link
Member Author

rainers commented Mar 24, 2019

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.

@CyberShadow
Copy link
Member

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.

@rainers
Copy link
Member Author

rainers commented Mar 24, 2019

I wouldn't mind keeping the symbols "private", i.e. undocumented, but I want to call them from the GC.

@jacob-carlborg
Copy link
Contributor

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 core top level package?

@rainers
Copy link
Member Author

rainers commented Mar 24, 2019

The GC is not in the core top level package?

No, it has its own top level package gc.

@thewilsonator
Copy link
Contributor

This needs another patch to weka-io/mecca

@thewilsonator
Copy link
Contributor

That patch for weka is blocked on https://issues.dlang.org/show_bug.cgi?id=19761

@thewilsonator
Copy link
Contributor

Why does CircleCI fail to install DMD?

@thewilsonator
Copy link
Contributor

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;
Copy link
Member

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.

Copy link
Member Author

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants