-
Notifications
You must be signed in to change notification settings - Fork 37
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
MacOS support #119
MacOS support #119
Conversation
* Restructured manager used in dashboard
I'll fix the failed build tomorrow :) |
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.
I don't really have a good overview of how the communication between the main process and workers works. Is there some documentation for that, or is the only way to figure that out studying the code?
For example, for all those shared variables, are they only written by the main process? And which ones are actually used/read by the workers? Do the workers keep track of whether they time out or does the main process do that; I'd kind of expect the latter but then why is it shared memory.
Ugh... the leaked semaphores are back :/ Will do some additional digging |
Yay! semaphores are all gone now :D |
I'm going to add this to the PR: General overview:
No, the
Most of them (description of what they do are in comms.py):
No, the main process does that within one of its threads. This is more reliable then doing it in a worker because a worker can deadlock, or not release the GIL. And you would need some way of switching threads to check for a timeout. And then you would also have |
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.
I'll probably spend some time trying to understand all the communication a bit better (and your comment should help a lot with that).
But I don't think there's a problem with merging this improvement in the meanwhile.
… a separate _worker_running_task_locks attribute
- Removing duplicate terminate_worker code, not sure how it got there
Any new comments on your side @harmenwassenaar ? Otherwise I can start making a new release :) |
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.
No new comments :)
Added support for macOS
cpu_ids
is used on macOSFixes #27
Fixes #79
Fixes #91
@harmenwassenaar most of the work can be looked at commit by commit. That will make it much easier to process I think. The main things were to: