diff options
author | Brad King <brad.king@kitware.com> | 2009-11-30 18:14:02 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-11-30 18:14:02 (GMT) |
commit | b21f1eaeae274589945c4e2e3e77a7b39305ac0d (patch) | |
tree | 5e09add1958d6e2704a500f920c76fc97cdcaaf5 /Source/cmVS10LinkFlagTable.h | |
parent | 4f43c1f27660a37f91eccad70ac3b34b97336d6b (diff) | |
download | CMake-b21f1eaeae274589945c4e2e3e77a7b39305ac0d.zip CMake-b21f1eaeae274589945c4e2e3e77a7b39305ac0d.tar.gz CMake-b21f1eaeae274589945c4e2e3e77a7b39305ac0d.tar.bz2 |
KWSys: Restore SIGSTOP/SIGKILL to end process tree
On UNIX systems we kill a tree of processes by performing a DFS walk of
the tree. We send SIGSTOP to each process encountered, recursively
handle its children, and then send SIGKILL.
We once used the above approach in the past, but it was removed by the
commit "Do not send both SIGSTOP and SIGKILL when killing a process".
The commit was meant to work-around an OS X 10.3 bug in which the child
would not always honor SIGKILL after SIGSTOP. At the time we wrongly
assumed that the process tree remains intact after SIGKILL and before
the child is reaped. In fact the grandchildren may be re-parented to
ppid=1 even before the child is reaped, which causes the DFS walk to
miss them.
Diffstat (limited to 'Source/cmVS10LinkFlagTable.h')
0 files changed, 0 insertions, 0 deletions