Closed notgull closed 1 year ago
Patch coverage: 96.66%
and project coverage change: -0.03%
:warning:
Comparison is base (
d6bba12
) 88.81% compared to head (d8f50c7
) 88.79%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Unfortunately it looks like you really do need to talk to libc
for signals. So I'll keep nix
around for that, but make it optional, as it looks like none of calloop
's dependencies explicitly use it.
Looking at signals.rs
, I guess that's for pthreads stuff?
Looks like thread_block
and thread_unblock
in nix call pthread_sigmask
, and looking at musl, that's a wrapper around the syscall SYS_rt_sigprocmask
. So if the few other calls there are similar, it should be possible to do with directly syscalls on Linux (and library calls elsewhere). Other pthreads APIs may not be as thin a wrapper over system calls.
IIRC the "wrapper" in Musl is a lot less thin than you would expect. See this issue in rustix
for more information, as well as the undocumented sigprocmask
function currently in rustix::runtime
. So we probably shouldn't do that.
Looks like CI is passing. @elinorbgr What are your thoughts?
Ports parts of this crate from nix to rustix, which uses I/O safety by default and allows for the inlining of syscalls.
WIP because there are some features we need that
rustix
does not support yet.