add TODO
[ust.git] / usttrace
index fac84a1de6f3d0d93f547b2c9166c7891bf3bc75..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
@@ -23,7 +39,7 @@ else
     fi
     LIBINTERFORK_PATH="libinterfork.so"
     LIBMALLOCWRAP_PATH="libmallocwrap.so"
-    LIBUST_PATH="libust.so"
+    LIBUST_PATH="libust.so.0"
 fi
 
 BASE_TRACE_DIR="${HOME}/.usttraces"
@@ -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.023537 seconds and 4 git commands to generate.