diff --git a/ChangeLog b/ChangeLog index 6d16384a..5c701946 100644 --- a/ChangeLog +++ b/ChangeLog @@ -31,6 +31,7 @@ v0.39.4 08-Dec-2003 mbtask: Moved the scheduler in a thread. + Rewrote shutdown procedure to make it more portable. script: Dropped support for Slackware pre 7.0. diff --git a/mbtask/mbtask.c b/mbtask/mbtask.c index a6bbabed..889c8c0e 100644 --- a/mbtask/mbtask.c +++ b/mbtask/mbtask.c @@ -661,6 +661,8 @@ void start_shutdown(int onsig) Syslog('+', "Trigger shutdown on signal %s", SigName[onsig]); signal(onsig, SIG_IGN); G_Shutdown = TRUE; + if (nodaemon && (onsig == SIGINT)) + die(SIGTERM); } @@ -1027,26 +1029,12 @@ void *scheduler(void) #if defined(__linux__) FILE *fp; #endif - int call_work = 0, rc; + int call_work = 0; static int call_entry = MAXTASKS; double loadavg[3]; pp_list *tpl; -// sigset_t sigset, oldset; Syslog('+', "Starting scheduler thread with pid %d", (int)getpid()); -/* - rc = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); - if (rc) - Syslog('+', "pthread_setcancelstate(PTHREAD_CANCEL_DISABLE) rc=%d", rc); - - rc = sigfillset(&sigset); - if (rc) - Syslog('+', "sigfillset() rc=%d", rc); - rc = pthread_sigmask(SIG_SETMASK, &sigset, &oldset); - if (rc) - Syslog('+', "pthread_sigmask(SIG_SETMASK) rc=%d", rc); -*/ - sched_run = TRUE; pw = getpwuid(getuid()); diff --git a/mbtask/ping.c b/mbtask/ping.c index 90afe85b..a54e3c3a 100644 --- a/mbtask/ping.c +++ b/mbtask/ping.c @@ -338,20 +338,8 @@ void *ping_thread(void) static char pingaddress[41]; static time_t pingsend; time_t now; -// sigset_t sigset, oldset; Syslog('+', "Starting ping thread with pid %d", (int)getpid()); -// rc = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); -// if (rc) -// Syslog('+', "pthread_setcancelstate(PTHREAD_CANCEL_DISABLE) rc=%d", rc); - -// rc = sigfillset(&sigset); -// if (rc) -// Syslog('+', "sigfillset() rc=%d", rc); -// rc = pthread_sigmask(SIG_SETMASK, &sigset, &oldset); -// if (rc) -// Syslog('+', "pthread_sigmask(SIG_SETMASK) rc=%d", rc); - pingresult[1] = pingresult[2] = FALSE; pingnr = 2; internet = FALSE; diff --git a/mbtask/taskcomm.c b/mbtask/taskcomm.c index 8d4cbfc9..3c604168 100644 --- a/mbtask/taskcomm.c +++ b/mbtask/taskcomm.c @@ -583,21 +583,8 @@ void *cmd_thread(void) int rlen, rc; struct pollfd pfd; static char buf[2048]; -// sigset_t sigset, oldset; Syslog('+', "Starting cmd thread with pid %d", (int)getpid()); -/* - rc = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); - if (rc) - Syslog('+', "pthread_setcancelstate(PTHREAD_CANCEL_DISABLE) rc=%d", rc); - - rc = sigfillset(&sigset); - if (rc) - Syslog('+', "sigfillset() rc=%d", rc); - rc = pthread_sigmask(SIG_SETMASK, &sigset, &oldset); - if (rc) - Syslog('+', "pthread_sigmask(SIG_SETMASK) rc=%d", rc); -*/ cmd_run = TRUE; while (! T_Shutdown) {