3 ms·
Aside: the make job server is very simple and UNIXy. There's a pipe shared between `make` and its subprocesses. `make` writes `N-1` bytes to the pipe. When a jo
by mastax 5y ago
Aside: the make job server is very simple and UNIXy. There's a pipe shared between `make` and its subprocesses. `make` writes `N-1` bytes to the pipe. When a job wants to do parallel work, it reads a byte from the pipe. When it's done, it writes a byte back to the pipe.
(Both rustc and cargo support the make job server)
- stormbrew 5y agoIt's really an elegant design, which is nice, other than the way that information is passed into the child process (roughly: MAKEFLAGS=" -j --job-server=3,4"), which requires you to argparse out the fd numbers. It would be nice if a new, less cumbersome, environment protocol could be adopted.
- ajconway 5y agoWhat happens when the job crashes?