summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/network/1061778
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/network/1061778')
-rw-r--r--results/classifier/gemma3:12b/network/106177810
1 files changed, 10 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/network/1061778 b/results/classifier/gemma3:12b/network/1061778
new file mode 100644
index 000000000..4faec5e58
--- /dev/null
+++ b/results/classifier/gemma3:12b/network/1061778
@@ -0,0 +1,10 @@
+
+signal mask not reset on exec
+
+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.
\ No newline at end of file