The signals crate does not build on non-Unix-like platforms, such as
Windows. It uses constants for signals that are not exported from
libc on Windows, and transitive dependencies such as sem_safe fail
to compile.
Resolve this, by guarding most of the crate, certainly all real
features, by cfg(unix).
To require less uses of the cfg macro, move all affected parts into a
new module, and re-export it.
The crate now builds on Windows (although it does not do anything interesting on that platform) and its Unix interface remains unchanged.
The signals crate does not build on non-Unix-like platforms, such as
Windows. It uses constants for signals that are not exported from
libc on Windows, and transitive dependencies such as sem_safe fail
to compile.
Resolve this, by guarding most of the crate, certainly all real
features, by cfg(unix).
To require less uses of the cfg macro, move all affected parts into a
new module, and re-export it.
The crate now builds on Windows (although it does not do anything interesting on that platform) and its Unix interface remains unchanged.
Fix unused import on Windows.
Rebased