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

Cleanup old RustPOSIX concurrency mechanisms in RawPOSIX #31

Open
rennergade opened this issue Nov 12, 2024 · 1 comment
Open

Cleanup old RustPOSIX concurrency mechanisms in RawPOSIX #31

rennergade opened this issue Nov 12, 2024 · 1 comment
Assignees
Labels
RawPOSIX RawPOSIX related issue

Comments

@rennergade
Copy link
Contributor

We now use futex() to handle most concurrency primitives. Because of this we can get rid of the outdated implementations for mutex() and cvs that RawPOSIX inherited from RustPOSIX.

For now we want to leave semaphores as they are because of their interaction with shared memory, but we'll have to tackle that in the near future.

@rennergade
Copy link
Contributor Author

This is a most likely a two step issue.

Step 1:

  • Remove all the mutex and cv data structures and functions from RawPOSIX that are left over from RustPOSIX/nacl
  • Add a futex table similar to the ones that were removed for mutex and cv
  • Add functionality in fork so that futexes are cloned on fork
  • Add tests for this

Step 2:

  • After shared memory is fixed we'll need to fix the semaphore functions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RawPOSIX RawPOSIX related issue
Projects
None yet
Development

No branches or pull requests

3 participants