Skip to content

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

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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