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

Reply via email to