Bug#974705: Changes to job handling cause hangs in wait

2020-12-01 Thread Harald van Dijk
On 01/12/2020 10:56, Herbert Xu wrote: On Tue, Dec 01, 2020 at 10:55:06AM +, Harald van Dijk wrote: You wrote: "So the problem is really in the parent of this shell, which appears to be bash:" You should read my follow-up email too that suggested changing the systemd script.

Bug#974705: Changes to job handling cause hangs in wait

2020-12-01 Thread Harald van Dijk
On 01/12/2020 10:53, Herbert Xu wrote: On Tue, Dec 01, 2020 at 10:50:19AM +, Harald van Dijk wrote: This used to exit immediately, leaving the sleep process running in the background without waiting for it. On the dash that's currently provided by Ubuntu, based on 0.5.10.2, it

Bug#974705: Changes to job handling cause hangs in wait

2020-12-01 Thread Harald van Dijk
On 01/12/2020 10:34, Herbert Xu wrote: On Tue, Dec 01, 2020 at 10:14:04AM +, Harald van Dijk wrote: POSIX says: "If the wait utility is invoked with no operands, it shall wait until all process IDs known to the invoking shell have terminated and exit with a zero exit status

Bug#974705: Changes to job handling cause hangs in wait

2020-12-01 Thread Harald van Dijk
ted-stdout); For some reason this is causing the final two tee's to be created as children of debian/tests/timedated rather than the bash shell. This is because of the same optimisation that dash also has, where it tries to avoid creating a subshell for the last command in a list when it can just exec() without a fork() instead. A minimal example without an explicit exec is bash -c 'dash -c ": & wait" <(sleep 1d)' Cheers, Harald van Dijk