From aed058b9cf94d0049f216460f98b6ad7ab81c80e Mon Sep 17 00:00:00 2001 From: kcwu Date: Sat, 10 Sep 2005 00:44:56 +0000 Subject: catch SIGXCPU for debug. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3147 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/mbbsd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'mbbsd') diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index 1bac7469..83bdc709 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -219,6 +219,7 @@ abort_bbs_debug(int sig) case SIGFPE: STATINC(STAT_SIGFPE); break; case SIGBUS: STATINC(STAT_SIGBUS); break; case SIGSEGV: STATINC(STAT_SIGSEGV); break; + case SIGXCPU: STATINC(STAT_SIGXCPU); break; } /* ignore normal signals */ Signal(SIGALRM, SIG_IGN); @@ -237,6 +238,7 @@ abort_bbs_debug(int sig) sigaddset(&sigset, SIGFPE); sigaddset(&sigset, SIGBUS); sigaddset(&sigset, SIGSEGV); + sigaddset(&sigset, SIGXCPU); sigprocmask(SIG_UNBLOCK, &sigset, NULL); #define CRASH_MSG ANSI_COLOR(0) "\r\n程式異常, 立刻斷線. 請洽 PttBug 板詳述你發生的問題.\n" @@ -1169,7 +1171,7 @@ start_client(void) { #ifdef CPULIMIT struct rlimit rml; - rml.rlim_cur = CPULIMIT * 60; + rml.rlim_cur = CPULIMIT * 60 - 5; rml.rlim_max = CPULIMIT * 60; setrlimit(RLIMIT_CPU, &rml); #endif @@ -1191,6 +1193,7 @@ start_client(void) Signal(SIGFPE, abort_bbs_debug); Signal(SIGBUS, abort_bbs_debug); Signal(SIGSEGV, abort_bbs_debug); + Signal(SIGXCPU, abort_bbs_debug); signal_restart(SIGUSR1, talk_request); signal_restart(SIGUSR2, write_request); -- cgit v1.2.3