Re: FYI: make's "max_jobs" needs to be separated from -j (now?)
- In reply to: Dan Mack : "Re: FYI: make's "max_jobs" needs to be separated from -j (now?)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 02 Oct 2024 16:06:23 UTC
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