Man; I should have sent it to them when we first saw it.... I'll add this
to our patch and send it upstream.
---------- Forwarded message ----------
From: Chet Ramey <[email protected]>
Date: Fri, Aug 5, 2016 at 3:22 PM
Subject: Re: Test exit status misinterpreted in scripts when buit without
job control
To: Dan Cross <[email protected]>
Cc: [email protected], [email protected]
On 8/4/16 5:04 PM, Dan Cross wrote:
> Thanks for the report. I took a quick look at this, and it's not
disabling
> job control that does it: it's disabling both job control and nls.
> Disabling either one while leaving the other enabled doesn't produce
this
> error (which only happens in the case where you run a script with the
> execute bit set without a #! line after running an executable that
causes
> the shell to call waitpid()). It's a strange set of circumstances.
> I'll see what I can find.
>
>
> Thanks, Chet. FYI, I tried building for the research kernel with NLS
> enabled and am still seeing the problem.
It turns out that the set of circumstances I listed above is essential,
and order-specific. I tested in a slightly different order when I built
a version without nls and job control, and that was the sequence that
triggers the bug. It's very specific.
Anyway, I fixed it and the fix will be in the next release. If you
want to move forward, you can apply the attached workaround, which is not
the change I made in the current development version.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU [email protected] http://cnswww.cns.cwru.edu/~
chet/
--
You received this message because you are subscribed to the Google Groups
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.
*** execute_cmd.c~ 2016-06-22 14:46:01.000000000 -0400
--- execute_cmd.c 2016-08-05 15:20:09.190086126 -0400
***************
*** 5148,5151 ****
--- 5148,5153 ----
set_sigchld_handler ();
init_job_stats ();
+ #else
+ stop_making_children ();
#endif /* JOB_CONTROL */