I wrote:

>> Poking around in the shepherd source code, in function start_child(), I
>> see the following interesting comment and code:
>>
>>     /*
>>      *  we are not interested in exit status of job
>>      *  except it was the RESCHEDULE_EXIT_STATUS or APPERROR_EXIT_STATUS
>>      */
>>     if( exit_status != RESCHEDULE_EXIT_STATUS
>>      && exit_status != APPERROR_EXIT_STATUS ) {
>>        exit_status = 0;
>>     } ...
>>
>> Just before this block of code resets exit_staus, it copies it into the
>> environment variable SGE_JOBEXIT_STAT, which is later readable from an
>> epilog script.
>
> That's because execd gets t from the "exit_status" file.

Apologies: it gets it from the "usage" file.

This lightly-tested change prevents zeroing the status, but I wonder why
it was done in the first place and whether the change causes problems in
some circumstances:
<https://arc.liv.ac.uk/trac/SGE/changeset/4829/sge?format=diff&new=4829>
_______________________________________________
SGE-discuss mailing list
[email protected]
https://arc.liv.ac.uk/mailman/listinfo/sge-discuss

Reply via email to