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 #1886

Merged
merged 1 commit into from
Nov 28, 2022

Commits on Nov 28, 2022

  1. Update use of libc::timespec to prepare for future libc version

    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 places where `libc::timespec` is created to first zero initialize
    the value and then update the `tv_sec` and `tv_nsec` fields manually.
    Many of these places are in `const fn`s so a helper function
    `zero_init_timespec()` is introduced to help with this as
    `std::mem::MaybeUninit::zeroed()` is not a `const` function.
    
    Some matches on `libc::timespec` are also updated to include a trailing
    `..` pattern which works when `libc::timespec` has additional, private
    fields as well as when it does not (like for
    `x86_64-unknown-linux-gnu`).
    wesleywiser committed Nov 28, 2022
    Configuration menu
    Copy the full SHA
    006fc6f View commit details
    Browse the repository at this point in the history