From 33569e40d7fc164b00891a120dec9fa1c6d9e58f Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Thu, 10 Feb 2005 07:34:19 +0000 Subject: [PATCH] if we're hibernating and we get a sigint, exit immediately. closes bug 91. svn:r3611 --- src/or/hibernate.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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); }