Bugzilla bug 119340: install a SIGTERM handler on Linux for debugging.

This commit is contained in:
wtc%netscape.com 2002-02-01 05:57:49 +00:00
Родитель e7ec12dbd5
Коммит c2c17dc8ed
1 изменённых файлов: 22 добавлений и 0 удалений

Просмотреть файл

@ -1374,6 +1374,17 @@ WaitForDebugger(void)
}
#endif
#ifdef LINUX /* bug 119340 */
#include <signal.h>
static void sigterm_handler(int signum)
{
static char err_msg[] = "selfserv: received SIGTERM\n";
write(2, err_msg, sizeof(err_msg) - 1);
_exit(1);
}
#endif /* LINUX */
int
main(int argc, char **argv)
{
@ -1400,6 +1411,17 @@ main(int argc, char **argv)
PLOptState *optstate;
PLOptStatus status;
PRThread *loggerThread;
#ifdef LINUX /* bug 119340 */
struct sigaction act;
act.sa_handler = sigterm_handler;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
if (sigaction(SIGTERM, &act, NULL) == -1) {
fprintf(stderr, "selfserv: sigaction failed: %d\n", errno);
exit(1);
}
#endif /* LINUX */
tmp = strrchr(argv[0], '/');