actually had this done at one point and lost it somewhere along the line. Again, this is an honest to gosh bug fix only: no functionality is changed. - After a child broadcaster process dies or is killed, set its dom_pipe_fds descriptors to -1 so that the 'READFD > 0' test in the select() loop does the right thing. Since descriptor values can be re-used, failure to do this can lead to a situation where a descriptor for an RPC socket can be mistaken for a pipe. If this happens, RPC sockets could be incorrectly handed off to handle_children(), which would then clear the descriptor from the select() descriptor mask and prevent svc_getreqset() from handling them. The end result would be that some RPC events would go unserviced. Curiously, the failures only happen intermittently. |
||
---|---|---|
.. | ||
Makefile | ||
ypbind.8 | ||
ypbind.c |