Greetings all.
Attached is a patch that aims to resolve an old issue with the exec
utility on UNIX. The problem observed is that when a kill signal is
sent to the exec utility, the child processes aren't killed. This patch
has been tested on Linux IA-32 and HPUX-11.23 on IA-64 (chosen due to
previous issues with signals).
--Andrew Black
Changelog:
* exec.cpp (alarm_timeout) [!_WIN32]: Update documentation.
(kill_signal) [!WIN32]: Add file local variable to track signal used to
kill process.
(handle_term_signal) [!_WIN32]: Add new callback function...
(wait_for_child) [!_WIN32]: ... Used here for SIGHUP, SIGINT, SIGQUIT,
and SIGTERM signals (via sigaction). Handlers are cleared if
kill_signal is set and the signal contained within is raise()ed.
|