Dear GNU Make developers,

Could you clarify whether the read side of the jobserver pipe is meant to
be in blocking or non-blocking mode?

According to the documentation [1], the read side is meant to be blocking.
However, the implementation of make sets the read side to non-blocking [2]
when pselect is available. I wrote a small test and indeed, if my test
program tries to read more tokens than are currently available it gets
EGAIN. I used make 4.3 for this test.

Many thanks,

Jeremie Dimino

[1] https://www.gnu.org/software/make/manual/html_node/POSIX-Jobserver.html
[2] http://git.savannah.gnu.org/cgit/make.git/tree/src/posixos.c#n107

Reply via email to