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

Update use of libc::timespec to prepare for future libc version #91

Merged
merged 1 commit into from Dec 7, 2022

Conversation

wesleywiser
Copy link
Contributor

In a future release of the libc crate, libc::timespec will contain private padding fields on *-linux-musl targets and so the struct will no longer be able to be created using the literal initialization syntax.

Update struct literal use of libc::timespec to initialize to zero first and then manually update the appropriate fields. Also updates a raw syscall to use the libc function instead as on musl 1.2, it correctly handles libc::timespec values which, in musl 1.2, are always 16 bytes in length regardless of platform.

See also rust-lang/libc#2088

In a future release of the `libc` crate, `libc::timespec` will contain
private padding fields on `*-linux-musl` targets and so the struct will
no longer be able to be created using the literal initialization syntax.

Update struct literal use of `libc::timespec` to initialize to zero
first and then manually update the appropriate fields. Also updates a
raw syscall to use the libc function instead as on musl 1.2, it
correctly handles `libc::timespec` values which, in musl 1.2, are
always 16 bytes in length regardless of platform.
@alexcrichton
Copy link
Owner

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants