Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 2003d1abfa0c20ee77815f0da33e2c1c > files > 11

glibc-2.5-49.el5_5.5.src.rpm

2007-02-17  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3348]
	* malloc/memusage.sh: Cleanups.
	* debug/xtrace.sh: Quoting and trap changes.

--- libc/malloc/memusage.sh	3 Jan 2007 05:44:11 -0000	1.15
+++ libc/malloc/memusage.sh	17 Feb 2007 08:31:17 -0000	1.16
@@ -77,6 +77,15 @@ warranty; not even for MERCHANTABILITY o
   exit 0
 }
 
+# These variables are local
+buffer=
+data=
+memusagestat_args=
+notimer=
+png=
+progname=
+tracemmap=
+
 # Process arguments.  But stop as soon as the program name is found.
 while test $# -gt 0; do
   case "$1" in
@@ -213,15 +222,8 @@ datafile=
 if test -n "$data"; then
   datafile="$data"
 elif test -n "$png"; then
-  datafile=$(mktemp ${TMPDIR:-/tmp}/memusage.XXXXXX 2> /dev/null)
-  if test $? -ne 0; then
-    # Lame, but if there is no `mktemp' program the user cannot expect more.
-    if test "$RANDOM" != "$RANDOM"; then
-      datafile=${TMPDIR:-/tmp}/memusage.$RANDOM
-    else
-      datafile=${TMPDIR:-/tmp}/memusage.$$
-    fi
-  fi
+  datafile=$(mktemp -t memusage.XXXXXX) || exit
+  trap 'rm -f "$datafile"; exit 1' HUP INT QUIT TERM PIPE
 fi
 if test -n "$datafile"; then
   add_env="$add_env MEMUSAGE_OUTPUT=$datafile"
--- libc/debug/xtrace.sh	3 Jan 2007 05:44:11 -0000	1.18
+++ libc/debug/xtrace.sh	17 Feb 2007 08:26:48 -0000	1.19
@@ -161,32 +161,32 @@ if test -n "$data"; then
   while read fct; do
     read file
     if test "$fct" != '??' -a "$file" != '??:0'; then
-      format_line $fct $file
+      format_line "$fct" "$file"
     fi
   done
 else
-  fifo=$(mktemp -u ${TMPDIR:-/tmp}/xtrace.XXXXXX)
+  fifo=$(mktemp -ut xtrace.XXXXXX) || exit
+  trap 'rm -f "$fifo"; exit 1' HUP INT QUIT TERM PIPE
   mkfifo -m 0600 $fifo || exit 1
-  trap 'rm $fifo; exit 1' SIGINT SIGTERM SIGPIPE
 
   # Now start the program and let it write to the FIFO.
   $TERMINAL_PROG -T "xtrace - $program $*" -e /bin/sh -c "LD_PRELOAD=$pcprofileso PCPROFILE_OUTPUT=$fifo $program $*; read < $fifo" &
   termpid=$!
-  $pcprofiledump -u $fifo |
+  $pcprofiledump -u "$fifo" |
   while read line; do
-     echo $line |
+     echo "$line" |
      sed 's/this = \([^,]*\).*/\1/' |
-     addr2line -fC -e $program
+     addr2line -fC -e "$program"
   done |
   while read fct; do
     read file
     if test "$fct" != '??' -a "$file" != '??:0'; then
-      format_line $fct $file
+      format_line "$fct" "$file"
     fi
   done
   read -p "Press return here to close $TERMINAL_PROG($program)."
-  echo > $fifo
-  rm $fifo
+  echo > "$fifo"
+  rm "$fifo"
 fi
 
 exit 0