Update version to 0.16
[ust.git] / usttrace
index 7c34ca2f4107cfe234c66297a2f1c564fbf781f2..d1a6e5fef71b1c3ee6db7c609557e8ae640a83ae 100755 (executable)
--- a/usttrace
+++ b/usttrace
@@ -1,19 +1,19 @@
-#!/bin/bash
+#!/bin/sh
 
 # usttrace  by Pierre-Marc Fournier 2009
 # Distributed under the GPLv2.
 
-function error() {
-       echo "$0: error: $1" 2>/dev/stderr
+error() {
+       echo "$0: error: $1" 1>&2
 }
 
-function sighandler() {
+sighandler() {
        echo "Caught Ctrl-C"
        if [ -z "${UST_CONSUMERD_PID}" ]; then
-               UST_CONSUMERD_PID="$(<$pidfilepath)"
+               UST_CONSUMERD_PID=`cat $pidfilepath`
        fi
        # Tell the daemon to die
-       kill -SIGTERM "${UST_CONSUMERD_PID}"
+       kill -TERM "${UST_CONSUMERD_PID}"
 
        echo "Waiting for ust-consumerd to shutdown..."
        wait "${UST_CONSUMERD_PID}"
@@ -44,19 +44,19 @@ fi
 
 BASE_TRACE_DIR="${HOME}/.usttraces"
 
-function usage () {
-       echo "usage:  $0 OPTIONS COMMAND" 2>/dev/stderr
-       echo "" 2>/dev/stderr
-       echo "Options:" 2>/dev/stderr
-       echo "    -l    Runtime link with UST library." 2>/dev/stderr
-       echo "          (Needed only if program was not linked at compile time with libust.)" 2>/dev/stderr
-       echo "    -L    Add path to ust libraries to LD_LIBRARY_PATH." 2>/dev/stderr
-       echo "    -m    Instrument malloc calls." 2>/dev/stderr
-       echo "    -f    Also trace forked processes." 2>/dev/stderr
-       echo "    -s    Use system-wide daemon instead of creating one for this session." 2>/dev/stderr
-       echo "    -S    Specify the subbuffer size." 2>/dev/stderr
-       echo "    -N    Specify the number of subbuffers." 2>/dev/stderr
-       echo "    -o    Output directory of the trace." 2>/dev/stderr
+usage() {
+       echo "usage:  $0 OPTIONS COMMAND" 1>&2
+       echo "" 1>&2
+       echo "Options:" 1>&2
+       echo "    -l    Runtime link with UST library." 1>&2
+       echo "          (Needed only if program was not linked at compile time with libust.)" 1>&2
+       echo "    -L    Add path to ust libraries to LD_LIBRARY_PATH." 1>&2
+       echo "    -m    Instrument malloc calls." 1>&2
+       echo "    -f    Also trace forked processes." 1>&2
+       echo "    -s    Use system-wide daemon instead of creating one for this session." 1>&2
+       echo "    -S    Specify the subbuffer size." 1>&2
+       echo "    -N    Specify the number of subbuffers." 1>&2
+       echo "    -o    Output directory of the trace." 1>&2
 }
 
 while getopts ":hlLmfsWS:N:o:" options; do
@@ -85,16 +85,13 @@ if [ -n "$where" ]; then
        exit 0
 fi
 
-# Prepare vars
-CMD=$*
-
 # Validate input
 if [ -z "$HOME" ];
 then
        error "no home specified"
 fi
 
-if [ -z "$CMD" ];
+if [ -z "$*" ];
 then
        error "no command specified"
        usage;
@@ -123,7 +120,7 @@ UST_CONSUMERD_SOCKPATH="/tmp/ust-consumerd-sock-$$"
 if [ "$arg_syswide_daemon" != "1" ];
 then
        pidfilepath="/tmp/usttrace-$USER-$(date +%Y%m%d%H%M%S%N)-ust-consumerd-pid"
-       trap "sighandler $pidfilepath" SIGINT
+       trap "sighandler $pidfilepath" INT
        mkfifo -m 0600 "$pidfilepath"
        # Start daemon
        ${UST_CONSUMERD} --pidfile "$pidfilepath" -s "${UST_CONSUMERD_SOCKPATH}" -o "$OUTDIR" >"$OUTDIR/ust-consumerd.log" 2>&1 &
@@ -134,7 +131,7 @@ then
        # ust-consumerd writes to pidfile
        # ust-consumerd closes pidfile
        # we unblock reading pidfile
-       UST_CONSUMERD_PID="$(<$pidfilepath)"
+       UST_CONSUMERD_PID=`cat $pidfilepath`
        export UST_DAEMON_SOCKET="${UST_CONSUMERD_SOCKPATH}"
 fi
 
@@ -196,7 +193,7 @@ fi
     fi
 
 # Execute the command
-    $CMD 2>&1
+    "$@" 2>&1
 ) | tee "$OUTDIR/app.log"
 
 ## Because of the keepalive mechanism, we're sure that by the time
@@ -206,7 +203,7 @@ fi
 if [ "$arg_syswide_daemon" != "1" ];
 then
        # Tell the daemon to die
-       kill -SIGTERM "${UST_CONSUMERD_PID}"
+       kill -TERM "${UST_CONSUMERD_PID}"
 
        echo "Waiting for ust-consumerd to shutdown..."
        wait "${UST_CONSUMERD_PID}"
This page took 0.023853 seconds and 4 git commands to generate.