Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnux32
Compiler: clang -mx32
Compilation CFLAGS: -O2
uname output: Linux framework 6.0.12 #1 SMP PREEMPT_DYNAMIC @1664744947 x86_64
GNU/Linux
Machine Type: x86_64-pc-linux-gnux32
Bash Version: 5.2
Patch
Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnux32
Compiler: gcc-10.1.0 -mx32
Compilation CFLAGS: -O2 -Wno-parentheses -Wno-format-security
uname output: Linux loucetios 5.7.9 #1 SMP @1590968955 x86_64 GNU/Linux
Machine Type: x86_64-pc-linux-gnux32
orked", but I'd like to point out that this whole
thing started because I was looking at code that Herbert Xu had changed
in dash to avoid this race back in 2009. That's over 10 years ago now.
The behaviour of dash before that, and several shells now, can not, or
at least not now, be said to be how shells have always worked.
Cheers,
Harald van Dijk
On 20/02/2020 15:55, Robert Elz wrote:
Date:Thu, 20 Feb 2020 09:16:05 +
From:Harald van Dijk
Message-ID:
| In that case, I think we can interpret the "when" in the description
| of the trap command literally except when 2.11 overrides it.
On 20/02/2020 01:55, Robert Elz wrote:
Date:Wed, 19 Feb 2020 23:53:56 +
From:Harald van Dijk
Message-ID: <9b9d435b-3d2f-99bd-eb3d-4a676ce89...@gigawatt.nl>
| POSIX says in the description of the trap command "Otherwise, the
| argument acti
On 19/02/2020 20:30, Chet Ramey wrote:
On 2/19/20 5:29 AM, Denys Vlasenko wrote:
A bug report from Harald van Dijk:
test2.sh:
trap 'kill $!; exit' TERM
{ kill $$; exec sleep 9; } &
wait $!
The above script ought exit quickly, and not leave a stray
"sleep" child:
(1
On 18/02/2020 16:46, Denys Vlasenko wrote:
On Sat, Feb 8, 2020 at 7:41 PM Harald van Dijk wrote:
If NetBSD sh
manages to avoid this pattern, and assuming NetBSD sh is not still
susceptible to one of those race conditions
Please let us know what you discovered.
Okay, please take a look. I
sh
manages to avoid this pattern, and assuming NetBSD sh is not still
susceptible to one of those race conditions, the fix for it in the other
shells would seem to be more complicated than necessary, and simplifying
things would be good.
Cheers,
Harald van Dijk
ash, or FreeBSD sh,
then test.ash simply waits forever on executing 'wait "$!"'.
Nice test. bash leaves the process in a state where SIGCHLD is blocked,
and the various ash-based shells do not unblock it. Because of that,
they do not pick up on the fact that the child process has terminated. I
would consider this a bug both in bash and in the ash-based shells.
Cheers,
Harald van Dijk