Triaging old bug tickets... can you still reproduce this issue with the
latest version of QEMU? Or could we close this ticket nowadays?
** Changed in: qemu
Status: New => Incomplete
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1061778
Title:
signal mask not reset on exec
Status in QEMU:
Incomplete
Bug description:
Seen in qemu-1.0 under 12.04, but AFAICT from current git it hasn't
changed.
./main-loop.c:qemu_signal_init blocks SIGALRM so it can be handled via
signalfd.
./net/tap.c:launch_script does not reset the signal mask before the
execv() call, and signal masks are inherited. So the script is run
with SIGALRM blocked (as can be seen in /proc/$$/status, "SigBlk:
0000000000002000"). One reasonable example of where this bites is an
interface up script that calls ping with a timeout to give things a
chance to settle down before continuing, but abort if this doesn't
happen within a reasonable time). Since ping uses SIGALRM for the
timeout, this now never terminates.
qemu-0.14 didn't block SIGALRM, so such scripts worked fine there.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1061778/+subscriptions