Skip to content

Use futex-based locks and thread parker on OpenBSD #96508

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

Closed
wants to merge 2 commits into from

Conversation

m-ou-se
Copy link
Member

@m-ou-se m-ou-se commented Apr 28, 2022

This switches OpenBSD to our futex-based locks and thread parker, using OpenBSD's futex() syscall.

This is a draft, because this still needs a new version of the libc crate to be published.

@m-ou-se m-ou-se added A-concurrency Area: Concurrency O-openbsd Operating system: OpenBSD S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Apr 28, 2022
@rust-highfive

This comment was marked as off-topic.

@rust-highfive
Copy link
Contributor

r? @Mark-Simulacrum

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 28, 2022
@m-ou-se
Copy link
Member Author

m-ou-se commented Apr 28, 2022

cc @semarie for OpenBSD

@rust-log-analyzer
Copy link
Collaborator

The job mingw-check failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling cc v1.0.69
    Checking core v0.0.0 (/checkout/library/core)
   Compiling libc v0.2.121
   Compiling memchr v2.4.1
   Compiling libc v0.2.124 (https://github.com/rust-lang/libc#f6df53fd)
   Compiling compiler_builtins v0.1.71
   Compiling unwind v0.0.0 (/checkout/library/unwind)
    Checking rustc-std-workspace-core v1.99.0 (/checkout/library/rustc-std-workspace-core)
    Checking alloc v0.0.0 (/checkout/library/alloc)
---
configure: rust.debug-assertions := True
configure: rust.overflow-checks := True
configure: llvm.assertions      := True
configure: dist.missing-tools   := True
configure: build.configure-args := ['--enable-sccache', '--disable-manage-submodu ...
configure: writing `config.toml` in current directory
configure: 
configure: run `python /checkout/x.py --help`
configure: 
---
   Compiling cc v1.0.69
    Checking core v0.0.0 (/checkout/library/core)
   Compiling libc v0.2.121
   Compiling memchr v2.4.1
   Compiling libc v0.2.124 (https://github.com/rust-lang/libc#f6df53fd)
   Compiling compiler_builtins v0.1.71
   Compiling unwind v0.0.0 (/checkout/library/unwind)
    Checking rustc-std-workspace-core v1.99.0 (/checkout/library/rustc-std-workspace-core)
    Checking alloc v0.0.0 (/checkout/library/alloc)
---
   Compiling cc v1.0.69
   Compiling core v0.0.0 (/checkout/library/core)
   Compiling libc v0.2.121
   Compiling memchr v2.4.1
   Compiling libc v0.2.124 (https://github.com/rust-lang/libc#f6df53fd)
   Compiling compiler_builtins v0.1.71
   Compiling unwind v0.0.0 (/checkout/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/checkout/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/checkout/library/alloc)
---
   Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
    Finished release [optimized] target(s) in 8.62s
tidy check
tidy: Skipping binary file check, read-only filesystem
tidy error: invalid source: "git+https://github.com/rust-lang/libc#f6df53fd694f6fc903058c765efc10d77725b31b"
* 629 error codes
* highest error code: E0787
Found 504 error codes
Found 0 error(s) in error codes

@m-ou-se
Copy link
Member Author

m-ou-se commented Apr 28, 2022

Closing in favor of #96510.

@m-ou-se m-ou-se closed this Apr 28, 2022
@m-ou-se m-ou-se deleted the futex-openbsd branch April 28, 2022 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-concurrency Area: Concurrency O-openbsd Operating system: OpenBSD S-blocked Status: Blocked on something else such as an RFC or other implementation work. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants