summary refs log tree commit diff
path: root/src/funcs/cmv
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2020-04-10 21:03:09 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2020-04-29 16:04:17 +1000
commit2a4f8f94a72413997ff98800fc6bf6bc028290a5 (patch)
tree32bfda5a309821eb10292477c8e9edd04a09d69d /src/funcs/cmv
parentvar: Remove poplocalvars() always-zero argument, make it static (diff)
downloaddash-2a4f8f94a72413997ff98800fc6bf6bc028290a5.tar.gz
dash-2a4f8f94a72413997ff98800fc6bf6bc028290a5.zip
jobs: Fix infinite loop in waitproc
After we changed the resetting of gotsigchld so that it is only
done if jp is NULL, we can now get an infinite loop in waitproc
if gotsigchld is set but there is no outstanding child because
everything had been waited for previously without gotsigchld being
zeroed.

This patch fixes it by always zeroing gotsigchld as we did before.
The bug that the previous patch was trying to fix is now resolved
by switching the blocking mode to DOWAIT_NORMAL after the specified
job has been completed so that we really do wait for all outstanding
dead children.

Reported-by: Harald van Dijk <harald@gigawatt.nl>
Fixes: 6c691b3e5099 ("jobs: Only clear gotsigchld when waiting...")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/funcs/cmv')
0 files changed, 0 insertions, 0 deletions
a6e1053a645&follow=1'>Print title as soon as it's availableJune McEnroe 2019-09-05Use CURL_PREFIX to set flagsJune McEnroe 2019-09-05Add titleJune McEnroe 2019-09-04Add Avorter n'est pas tuerJune McEnroe 2019-08-29Unset executable on shell scriptsJune McEnroe 2019-08-29Add long-missing setopt to bin.7June McEnroe 2019-08-29Add editJune McEnroe