Semaphore primitive for Rust
Uses winapi CreateSemaphoreW
.
All POSIX-compliant systems uses sem_init
But it must be noted that awaiting can be interrupted by the signal, although implementation
tries its best to handle these cases
POSIX implementation relies on libc
This includes all unix
targets and fuchsia
Uses mach
API.