Previous: , Up: Sharing Job Slots with GNU make   [Contents][Index]

13.1.2 Windows Jobserver Interaction

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: