Make leaks-kill.sh a no-op for now

This commit is contained in:
Viktor Dukhovni
2016-12-07 19:51:57 -06:00
committed by Nicolas Williams
parent 1ed7bd56b1
commit a51ecdb8db

View File

@@ -1,55 +1,27 @@
#!/bin/sh
checkonly=no
name=$1
pid=$2
if [ "X$1" = "X--check" ] ; then
checkonly=yes
name=$2
pid=$3
else
name=$1
pid=$2
fi
ec=0
rm -f leaks-log > /dev/null
if [ "$(uname -s)" = "Darwin" ]; then
echo "leaks check on $name ($pid)"
leaks -exclude __CFInitialize $pid > leaks-log 2>&1 || \
{ echo "leaks failed: $?"; cat leaks-log; exit 1; }
perl -e 'my $excluded = 0; my $num = -1; while (<>) {
if (/Process \d+: (\d+) leaks? for \d+ total leaked bytes?/) { $num = $1;}
if (/Process \d+: (\d+) leaks? malloced for \d+ total leaked byte?/) { $num = $1;}
if (/(\d+) leaks? excluded/) { $excluded = $1;}
}
exit 1 if ($num != 0 && $num != $excluded);
exit 0;' leaks-log || \
{ echo "Memory leak in $name" ; echo ""; cat leaks-log; ec=1; }
if grep -e '1 leak for' leaks-log > /dev/null && grep -e "Leak.*environ.*__CF_USER_TEXT_ENCODING" leaks-log > /dev/null ; then
echo "just running into rdar://problem/8764394"
ec=0
kill $pid
set -- .
while kill -0 $pid 2>/dev/null
do
set -- "$@" "."
if [ $# -gt 4 ]
then
kill kill -9 $pid 2> /dev/null
break
fi
sleep 1
done
[ "$ec" != "0" ] && { echo ""; cat leaks-log ; }
set -- .
while kill -0 $pid 2>/dev/null
do
set -- "$@" "."
if [ $# -gt 4 ]; then exit 1; fi
sleep 1
done
#[ "$ec" != "0" ] && { malloc_history $pid -all_by_size > l; }
#[ "$ec" != "0" ] && { env PS1=": leaks-debugger !!!! ; " bash ; }
[ "$ec" = "0" ] && rm leaks-log
fi
if [ "$checkonly" = no ] ; then
kill $pid
sleep 3
kill -9 $pid 2> /dev/null
sleep 3
fi
exit $ec
exit 0