Previous: POSIX Jobserver Interaction, Up: Sharing Job Slots with GNU make [Contents][Index]
On Windows systems the jobserver is implemented as a named semaphore. The semaphore will be set with an initial count equal to the number of available slots; to obtain a slot you must wait on the semaphore (with or without a timeout). To release a slot, release the semaphore.
To access the semaphore you must parse the MAKEFLAGS variable and
look for the argument string --jobserver-auth=NAME where
‘NAME’ is the name of the named semaphore. Use this name with
OpenSemaphore to create a handle to the semaphore.
The only valid style for --jobserver-style is ‘sem’.
There are various error conditions you must consider to ensure your implementation is robust:
SIGINT), etc. You may want to install signal handlers to
manage this write-back.