From: Roger Dingledine Date: Thu, 10 Feb 2005 07:34:19 +0000 (+0000) Subject: if we're hibernating and we get a sigint, exit immediately. X-Git-Tag: tor-0.1.0.1-rc~261 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33569e40d7fc164b00891a120dec9fa1c6d9e58f;p=thirdparty%2Ftor.git if we're hibernating and we get a sigint, exit immediately. closes bug 91. svn:r3611 --- diff --git a/src/or/hibernate.c b/src/or/hibernate.c index 0e7aa2eb93..ffd9138a68 100644 --- a/src/or/hibernate.c +++ b/src/or/hibernate.c @@ -657,9 +657,11 @@ static int hibernate_soft_limit_reached(void) static void hibernate_begin(int new_state, time_t now) { connection_t *conn; - if (hibernate_state == HIBERNATE_STATE_EXITING) { - /* we've been called twice now. close immediately. */ - log(LOG_NOTICE,"Second sigint received; exiting now."); + if (new_state == HIBERNATE_STATE_EXITING && + hibernate_state != HIBERNATE_STATE_LIVE) { + log(LOG_NOTICE,"Sigint received %s; exiting now.", + hibernate_state == HIBERNATE_STATE_EXITING ? + "a second time" : "while hibernating"); tor_cleanup(); exit(0); }