Skip to content

Adding 64-bit support, fallback for unsupported platforms, and more #9

@DouglasDwyer

Description

@DouglasDwyer

Hey! While working on a separate project, I found this crate. It looked great, but I needed support for 64-bit futexes in my project. So, I created this fork. While working on the fork, I got a bit carried away and added:

  • Support for AtomicI32, AtomicI64, and AtomicU64.
  • A fallback futex implementation using a table of condvars for platforms that don't have native support (like Linux)
  • Native support for wasm32 (nightly only)
  • Support for waiting with timeout

I wanted to reach out and see whether you were interested in merging any of these into this crate. It would help prevent ecosystem fracture, and expand the capability of a crate that's already widely-used. Still, these changes are somewhat opinionated (for example, I know it was stated on another issue that you liked the simplicity of atomic-wait without a manual table fallback) and I made some breaking changes. So I'm also happy to leave my work as a fork if you feel it beyond the scope of this crate. Cheers!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions