|
Ninja
|
A Jobserver::Config models how to access or implement a GNU jobserver implementation. More...
#include <jobserver.h>
Public Types | |
| enum | Mode { kModeNone = 0 , kModePipe , kModePosixFifo , kModeWin32Semaphore , kModeDefault = kModePosixFifo } |
| Different implementation modes for the slot pool. More... | |
Public Member Functions | |
| bool | HasMode () |
| Return true if this instance matches an active implementation mode. More... | |
Public Attributes | |
| Mode | mode = kModeNone |
| Implementation mode for the pool. More... | |
| std::string | path |
| For kModeFifo, this is the path to the Unix FIFO to use. More... | |
A Jobserver::Config models how to access or implement a GNU jobserver implementation.
Definition at line 106 of file jobserver.h.
Different implementation modes for the slot pool.
kModeNone means there is no pool.
kModePipe means that --jobserver-auth=R,W is used to pass a pair of file descriptors to client processes. This also matches --jobserver-fds=R,W which is an old undocumented variant of the same scheme. This mode is not supported by Ninja, but recognized by the parser.
kModePosixFifo means that --jobserver-auth=fifo:PATH is used to pass the path of a Posix FIFO to client processes. This is not supported on Windows. Implemented by GNU Make 4.4 and above when --jobserver-style=fifo is used.
kModeWin32Semaphore means that --jobserver-auth=SEMAPHORE_NAME is used to pass the name of a Win32 semaphore to client processes. This is not supported on Posix.
kModeDefault is the default mode to enable on the current platform. This is an alias for kModeWin32Semaphore on Windows ,and kModePosixFifo on Posix.
| Enumerator | |
|---|---|
| kModeNone | |
| kModePipe | |
| kModePosixFifo | |
| kModeWin32Semaphore | |
| kModeDefault | |
Definition at line 129 of file jobserver.h.
|
inline |
Return true if this instance matches an active implementation mode.
This does not try to validate configuration parameters though.
Definition at line 150 of file jobserver.h.
Implementation mode for the pool.
Definition at line 142 of file jobserver.h.
Referenced by Jobserver::Client::Create(), HasMode(), Jobserver::ParseMakeFlagsValue(), Jobserver::ParseNativeMakeFlagsValue(), and TEST().
| std::string Jobserver::Config::path |
For kModeFifo, this is the path to the Unix FIFO to use.
For kModeSemaphore, this is the name of the Win32 semaphore to use.
Definition at line 146 of file jobserver.h.
Referenced by Jobserver::Client::Create(), Jobserver::ParseMakeFlagsValue(), and TEST().