[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#779608: Acknowledgement (xvfb: cleanup on signal exits as well)



As a follow-up, this hunk is also required: 

---- cut here ----
--- /usr/bin/xvfb-run	2015-03-03 09:25:05.899998561 +0100
+++ /usr/bin/xvfb-run	2015-03-03 02:19:40.543821712 +0100
@@ -180,7 +180,7 @@
 
 # Start the command and save its exit status.
 set +e
-DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 & wait
 RETVAL=$?
 set -e
 
---- cut here ----

because (as per man bash(1)): "If bash is waiting for a command to complete and receives a signal for which a trap has been set, the trap will not be executed until the command completes. When bash is waiting for an asynchronous command  via  the  wait  builtin, the reception of a signal for which a trap has been set will cause the wait builtin to return immediately with an exit status greater than 128, immediately after which  the trap is executed."

The behaviour is the same as above for dash, as can be verified by sending signals to the following test script:

---- cut here ----
#!/bin/sh
clean_up() {
	echo "got here"
}
trap clean_up EXIT INT TERM
sleep 68 & wait
---- cut here ----

X

-- 
GPG: 4096R/1318EFAC5FBBDBCE
git://github.com/infinity0/pubkeys.git


Reply to: