|
From: John R. <jr...@bi...> - 2009-08-18 14:10:01
|
>> tc22_exit_w_lock: valgrind ./tc22_exit_w_lock >> sh: line 1: 1976 Aborted VALGRIND_LIB=/bigdata/valgrind-3.5.0-TEST2/.in_place VALGRIND_LIB_INNER=/bigdata/valgrind-3.5.0-TEST2/.in_place /bigdata/valgrind-3.5.0-TEST2/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=helgrind ./tc22_exit_w_lock> >> tc22_exit_w_lock.stdout.out 2> tc22_exit_w_lock.stderr.out > If you have a look at the source code of > helgrind/tests/tc22_exit_w_lock.c you will see that this program exits > by calling kill( getpid(), SIGABRT ). Or: the above is the expected > behavior. Hi Bart, Yes, you are correct. I misunderstood "Aborted" as "bad"; sorry. Why does the code use kill(, SIGABRT) instead of exit_group()? Perhaps the SIBABRT was necessary for LinuxThreads when kernel threads were much like a group of separate processes, but now that threads are true threads and NativePosixThreadLibrary (NPTL) treats them as such, I believe that exit_group would work and be more "gentle". -- |