On Wed, 2 Oct 2024, Dan Mack wrote:
On Wed, 2 Oct 2024, Warner Losh wrote:
Ack, okay. I can't trigger it with a fresh or my /usr/obj but in
any
event the error number 6 is probably referring to a path or
directory
missing while doing a parallel build given some input state :-)
#define ENXIO 6 /* Device not configured */
ENXIO usually is reserved for hardware errors when a device disappears
for block I/O contexts. So I'm not sure that this theory is so good.
But shell error exit statuses are largely independent of errnos.
Warner
Thank you, I was indeed stretching to make error no 6 work for me in this
context by thinking it was really a mis identitied file or directory not
found. However, if someone's going to return 6, then they'll return a 6,
nothing I can do about it other than expect it again sometime.
:-)
Dan
Ahh, it's possibly from bmake? Which makes sense to me:
./contrib/bmake/job.c
if (count == 1 && tok != '+') {
/* make being aborted - remove any other job tokens */
DEBUG2(JOB, "(%d) aborted by token %c\n", getpid(), tok);
while (read(tokenWaitJob.inPipe, &tok1, 1) == 1)
continue;
/* And put the stopper back */
while (write(tokenWaitJob.outPipe, &tok, 1) == -1 &&
errno == EAGAIN)
continue;
if (shouldDieQuietly(NULL, 1))
exit(6); /* we aborted */
Fatal("A failure has been detected "
"in another branch of the parallel make");
}
Dan