mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
dfc caught a SIGXFSZ error when his debugfile reached 2GB.
so if they exist, catch them and ignore them. write() will fail normally and we'll look at errno like normal human beings. svn:r2804
This commit is contained in:
parent
c106ab8315
commit
90e0ad517e
@ -872,6 +872,10 @@ static void catch(int the_signal) {
|
||||
case SIGCHLD:
|
||||
please_reap_children = 1;
|
||||
break;
|
||||
#ifdef SIGXFSZ
|
||||
case SIGXFSZ: /* this happens when write fails with etoobig */
|
||||
break; /* ignore; write will fail and we'll look at errno. */
|
||||
#endif
|
||||
default:
|
||||
log(LOG_WARN,"Caught signal %d that we can't handle??", the_signal);
|
||||
tor_cleanup();
|
||||
@ -983,6 +987,9 @@ void handle_signals(int is_parent)
|
||||
sigaction(SIGPIPE, &action, NULL); /* otherwise sigpipe kills us */
|
||||
sigaction(SIGUSR1, &action, NULL); /* dump stats */
|
||||
sigaction(SIGHUP, &action, NULL); /* to reload config, retry conns, etc */
|
||||
#ifdef SIGXFSZ
|
||||
sigaction(SIGXFSZ, &action, NULL); /* handle file-too-big resource exhaustion */
|
||||
#endif
|
||||
if(is_parent)
|
||||
sigaction(SIGCHLD, &action, NULL); /* handle dns/cpu workers that exit */
|
||||
#endif /* signal stuff */
|
||||
|
Loading…
Reference in New Issue
Block a user