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

Add timerfd APIs for illumos and NetBSD. #4333

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

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
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 844d6b0 to 78d9f2e Compare March 22, 2025 20:30
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-nominated This PR should be considered for cherry-pick to libc's stable release branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants