]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r362737: sh/tests: Fix flaky execution/bg12.0
authorJilles Tjoelker <jilles@FreeBSD.org>
Thu, 9 Jul 2020 17:42:31 +0000 (17:42 +0000)
committerJilles Tjoelker <jilles@FreeBSD.org>
Thu, 9 Jul 2020 17:42:31 +0000 (17:42 +0000)
commita7e752dadeb96abf63ca6c672b1ae89bec3199b1
treea68507d90265c904516ead280579df547c291738
parent5a1fd476b62d6d08a845f006a4e007f81c15305e
MFC r362737: sh/tests: Fix flaky execution/bg12.0

When job control is not enabled, the shell ignores SIGINT while waiting for
a foreground process unless that process exits on SIGINT. In this case, the
foreground process is sleep and it does not exit on SIGINT because the
signal is only sent to the shell. Depending on order of events, this could
cause the SIGINT to be unexpectedly ignored.

On lightly loaded bare metal, the chance of this happening tends to be less
than 0.01% but with higher loads and/or virtualization it becomes more
likely.

Starting the sleep in background and using the wait builtin ensures SIGINT
will not be ignored.

PR: 247559
Reported by: lwhsu
bin/sh/tests/execution/bg12.0