projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
configure.ac: remove version from AM_INIT_AUTOMAKE
[ust.git]
/
usttrace
diff --git
a/usttrace
b/usttrace
index 0843fb2c079566c9ec74d3e69bfa064b344e661c..15336f638d91ab7133842d149456667b3033d162 100755
(executable)
--- a/
usttrace
+++ b/
usttrace
@@
-3,6
+3,10
@@
# usttrace by Pierre-Marc Fournier 2009
# Distributed under the GPLv2.
# usttrace by Pierre-Marc Fournier 2009
# Distributed under the GPLv2.
+function error() {
+ echo "$0: error: $1" 2>/dev/stderr
+}
+
USTTRACE_DIR="$(dirname $0)"
if [ -x "${USTTRACE_DIR}/ustd/ustd" ] ; then
# Use the not installed libraries instead
USTTRACE_DIR="$(dirname $0)"
if [ -x "${USTTRACE_DIR}/ustd/ustd" ] ; then
# Use the not installed libraries instead
@@
-13,6
+17,10
@@
if [ -x "${USTTRACE_DIR}/ustd/ustd" ] ; then
else
# Use the libraries that the dynamic link finds
USTD="ustd"
else
# Use the libraries that the dynamic link finds
USTD="ustd"
+ if [ ! -x "$(which ustd 2>/dev/null)" ]; then
+ error "cannot find an executable ustd; make sure its location is in the PATH"
+ exit 1
+ fi
LIBINTERFORK_PATH="libinterfork.so"
LIBMALLOCWRAP_PATH="libmallocwrap.so"
LIBUST_PATH="libust.so"
LIBINTERFORK_PATH="libinterfork.so"
LIBMALLOCWRAP_PATH="libmallocwrap.so"
LIBUST_PATH="libust.so"
@@
-32,10
+40,6
@@
function usage () {
echo " -s Use system-wide daemon instead of creating one for this session." 2>/dev/stderr
}
echo " -s Use system-wide daemon instead of creating one for this session." 2>/dev/stderr
}
-function error() {
- echo "$0: error: $1" 2>/dev/stderr
-}
-
while getopts ":hlLmfs" options; do
case $options in
l) arg_preload_libust=1;;
while getopts ":hlLmfs" options; do
case $options in
l) arg_preload_libust=1;;
@@
-53,12
+57,6
@@
while getopts ":hlLmfs" options; do
done
shift $(($OPTIND - 1))
done
shift $(($OPTIND - 1))
-if [ ! -x "$USTD" -a ! -x "$(which ustd 2>/dev/null)" ];
-then
- error "specified path to ustd not executable ($USTD)"
- exit 1
-fi
-
# Prepare vars
CMD=$*
# Prepare vars
CMD=$*
@@
-89,6
+87,13
@@
then
mkfifo -m 0600 "$pidfilepath"
# Start daemon
$USTD --pidfile "$pidfilepath" -s "$SOCKPATH" -o "$OUTDIR" >"$OUTDIR/ustd.log" 2>&1 &
mkfifo -m 0600 "$pidfilepath"
# Start daemon
$USTD --pidfile "$pidfilepath" -s "$SOCKPATH" -o "$OUTDIR" >"$OUTDIR/ustd.log" 2>&1 &
+ # ustd sets up its server socket
+ # ustd opens the pidfile, blocks because no one has opened it
+ # we open pidfile
+ # we block reading pidfile
+ # ustd writes to pidfile
+ # ustd closes pidfile
+ # we unblock reading pidfile
USTDPID="$(<$pidfilepath)"
export UST_DAEMON_SOCKET="$SOCKPATH"
fi
USTDPID="$(<$pidfilepath)"
export UST_DAEMON_SOCKET="$SOCKPATH"
fi
@@
-143,7
+148,7
@@
then
kill -SIGTERM "$USTDPID"
echo "Waiting for ustd to shutdown..."
kill -SIGTERM "$USTDPID"
echo "Waiting for ustd to shutdown..."
- wait "$
(USTDPID)
"
+ wait "$
USTDPID
"
rm "$pidfilepath"
fi
rm "$pidfilepath"
fi
This page took
0.025435 seconds
and
4
git commands to generate.