macro_rules! semaphore { ($initial:expr, $max:expr) => { ... }; }
Create a Semaphore that works in both heap and zero-heap modes.
Semaphore