[4298] in testers
Re: larvnet and 8.3?
daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed Jul 7 18:42:36 1999
Date: Wed, 7 Jul 1999 18:42:28 -0400
Message-Id: <199907072242.SAA21112@small-gods.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: Greg Hudson <ghudson@MIT.EDU>
Cc: testers@MIT.EDU
In-Reply-To: "[4297] in testers"
Well, it's an inetd bug.
On opus, the service entry for busypoll has sep->se_fd equal to 16,
but fd 16 isn't set in allsock (the fd_set used for the reader mask).
How busypoll got left out of allsock is anybody's guess. A "wait"
service like busypoll does get removed from allsock after the fork and
added back again when the subprocess exits, so presumably the service
got removed and never re-added. At first I thought there was a
SIGCHLD race (the fd gets re-added before it gets removed), but it
appears that SIGCHLD is blocked around the fork.
There are no busyd processes running on opus. Restarting inetd (on
oliver, anyway) resets the problem. I don't know what operation
causes inetd to get into the problem state.
It's possible that IRIX loses subprocess statuses occasionally, but it
seems a bit unlikely; too many other things would break.