usttrace: add signal handler to prevent ustd from keeping running after usttrace...
authorPierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Fri, 12 Feb 2010 23:01:16 +0000 (18:01 -0500)
committerPierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Mon, 15 Feb 2010 05:40:36 +0000 (00:40 -0500)
usttrace

index a60440c8e0039e4feee4ae0e9f3629cb3020372e..4f6f1f26bf9241d67f8c0f8647e9be05ad03887c 100755 (executable)
--- a/usttrace
+++ b/usttrace
@@ -7,6 +7,22 @@ function error() {
        echo "$0: error: $1" 2>/dev/stderr
 }
 
+function sighandler() {
+       echo "Caught Ctrl-C"
+       if [ -z "$USTDPID" ]; then
+               USTDPID="$(<$pidfilepath)"
+       fi
+       # Tell the daemon to die
+       kill -SIGTERM "$USTDPID"
+
+       echo "Waiting for ustd to shutdown..."
+       wait "$USTDPID"
+
+       rm "$pidfilepath"
+
+       exit 0;
+}
+
 USTTRACE_DIR="$(dirname $0)"
 if [ -x "${USTTRACE_DIR}/ustd/ustd" ] ; then
     # Use the not installed libraries instead
@@ -84,6 +100,7 @@ USTDSOCKPATH="/tmp/ustd-sock-$$"
 if [ "$arg_syswide_daemon" != "1" ];
 then
        pidfilepath="/tmp/usttrace-$USER-$(date +%Y%m%d%H%M%S%N)-ustd-pid"
+       trap "sighandler $pidfilepath" SIGINT
        mkfifo -m 0600 "$pidfilepath"
        # Start daemon
        $USTD --pidfile "$pidfilepath" -s "$USTDSOCKPATH" -o "$OUTDIR" >"$OUTDIR/ustd.log" 2>&1 &
This page took 0.024113 seconds and 4 git commands to generate.