Skip to content

Conversation

sunfishcode
Copy link
Member

Description

Add timerfd APIs for illumos and NetBSD.

illumos and NetBSD >= 10 support Linux-compatble timerfd APIs.

Sources

This is based on the headers for illumos and NetBSD.

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget);
    especially relevant for platforms that may not be checked in CI

@rustbot
Copy link
Collaborator

rustbot commented Mar 16, 2025

r? @tgross35

rustbot has assigned @tgross35.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot
Copy link
Collaborator

rustbot commented Mar 16, 2025

Some changes occurred in solarish module

cc @jclulow, @pfmooney

Copy link
Contributor

@tgross35 tgross35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small request, otherwise LGTM

@@ -353,4 +359,13 @@ extern "C" {
n: size_t,
loc: crate::locale_t,
) -> c_int;

pub fn timerfd_create(clockid: crate::clockid_t, flags: c_int) -> c_int;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The illumos sources look like (c_int, c_int) here. I assume clockid_t is the same type but we should probably be consistent.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's a Linux compatibility interface so the signature was intentionally borrowed from what they were doing

Copy link
Contributor

@tgross35 tgross35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, LGTM. Please squash

@rustbot label +stable-nominated

@rustbot rustbot added the stable-nominated This PR should be considered for cherry-pick to libc's stable release branch label Mar 22, 2025
@sunfishcode sunfishcode force-pushed the sunfishcode/timerfd-illumos-netbsd branch from 844d6b0 to 78d9f2e Compare March 22, 2025 20:30
illumos and NetBSD >= 10 support Linux-compatble timerfd APIs.

This is based on the headers for [illumos] and [NetBSD].

[illumos]: https://code.illumos.org/plugins/gitiles/illumos-gate/+/refs/heads/master/usr/src/uts/common/sys/timerfd.h#34
[NetBSD]: https://nxr.netbsd.org/xref/src/sys/sys/timerfd.h#44
@sunfishcode sunfishcode force-pushed the sunfishcode/timerfd-illumos-netbsd branch from 78d9f2e to b2b1702 Compare April 2, 2025 13:09
@sunfishcode
Copy link
Member Author

Squashed and rebased. The CI failure is probably unrelated because this PR doesn't touch any FreeBSD code.

@tgross35
Copy link
Contributor

tgross35 commented Apr 2, 2025

Thanks! Yeah that job has spurious failures.

@tgross35 tgross35 added this pull request to the merge queue Apr 2, 2025
Merged via the queue into rust-lang:main with commit 6edce63 Apr 2, 2025
42 of 43 checks passed
tgross35 pushed a commit to tgross35/rust-libc that referenced this pull request Apr 3, 2025
illumos and NetBSD >= 10 support Linux-compatble timerfd APIs.

This is based on the headers for [illumos] and [NetBSD].

[illumos]: https://code.illumos.org/plugins/gitiles/illumos-gate/+/refs/heads/master/usr/src/uts/common/sys/timerfd.h#34
[NetBSD]: https://nxr.netbsd.org/xref/src/sys/sys/timerfd.h#44

(backport <rust-lang#4333>)
(cherry picked from commit b2b1702)
@tgross35 tgross35 mentioned this pull request Apr 3, 2025
@tgross35 tgross35 added stable-applied This PR has been cherry-picked to libc's stable release branch and removed stable-nominated This PR should be considered for cherry-pick to libc's stable release branch labels Apr 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-illumos O-solarish O-unix S-waiting-on-author stable-applied This PR has been cherry-picked to libc's stable release branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants