mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
catch signals in a more portable way, so solaris can catch them too
svn:r1324
This commit is contained in:
parent
e9b67e1e6a
commit
3d2c6c7cfa
@ -738,12 +738,19 @@ int tor_main(int argc, char *argv[]) {
|
||||
}
|
||||
|
||||
#ifndef MS_WINDOWS /* do signal stuff only on unix */
|
||||
signal (SIGINT, catch); /* catch kills so we can exit cleanly */
|
||||
signal (SIGTERM, catch);
|
||||
signal (SIGPIPE, catch);
|
||||
signal (SIGUSR1, catch); /* to dump stats */
|
||||
signal (SIGHUP, catch); /* to reload directory */
|
||||
signal (SIGCHLD, catch); /* for exiting dns/cpu workers */
|
||||
{
|
||||
struct sigaction action;
|
||||
action.sa_flags = 0;
|
||||
sigemptyset(&action.sa_mask);
|
||||
|
||||
action.sa_handler = catch;
|
||||
sigaction(SIGINT, &action, NULL);
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
sigaction(SIGPIPE, &action, NULL);
|
||||
sigaction(SIGUSR1, &action, NULL);
|
||||
sigaction(SIGHUP, &action, NULL); /* to reload config, retry conns, etc */
|
||||
sigaction(SIGCHLD, &action, NULL); /* handle dns/cpu workers that exit */
|
||||
}
|
||||
#endif /* signal stuff */
|
||||
|
||||
crypto_global_init();
|
||||
|
Loading…
Reference in New Issue
Block a user