Every *nix except QNX now uses XP semaphores... a POSIX semaphore lib
The semaphore emulation lib provides for sem_timedwait() which will allow correct blocking calls to be used rather than bogus (On *nix anyways) arbitrary 1-55ms (depending on hardware) wait during a loop to avoid 100% CPU utilization. The xpsem lib uses mutexes to provide semaphore functions and is taken almost line-per-line from FreeBSD. (copyright left intact) **** WARNING **** This commit was performed while drunk. If this breaks your build, I personally guarantee you get to keep all remaning pieces.