Skip to content
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

Fibers #6

Open
graphitemaster opened this issue Oct 28, 2019 · 1 comment
Open

Fibers #6

graphitemaster opened this issue Oct 28, 2019 · 1 comment
Assignees

Comments

@graphitemaster
Copy link
Member

graphitemaster commented Oct 28, 2019

Implement fibers on multiple threads, i.e M:N threading model. In addition, implement all the fiber sync primitives to match the kernel thread ones like mutex, condition variable, etc.

@mtwilliams
Copy link
Member

You're going to want to use WaitOnAddress and WakeByAddress{All,Single} on Windows, which isn't available until Windows 8, so you'll need to fallback. I suggest building a hash table of event objects and hashing the addresses to index the table. It'll result in spurious wake ups, but that's expected with futexes anyway.

@graphitemaster graphitemaster self-assigned this Mar 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants