diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-03-26 17:35:21 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-03-26 17:35:21 -0400 |
commit | 55e991b27ca40f5e1cdf33a85a27db5eff5f19d5 (patch) | |
tree | 61b621a656e78b7d8abd8e423e099682f6e2f35c | |
parent | 43d5389c806b74a682d3e5c13bdd124ee9bfbd48 (diff) | |
download | libevent-55e991b27ca40f5e1cdf33a85a27db5eff5f19d5.tar.gz |
Make libevent_global_shutdown() idempotent
Two calls to libevent_global_shutdown on your exit path shouldn't
result in a crash.
-rw-r--r-- | event.c | 1 | ||||
-rw-r--r-- | evutil_rand.c | 1 | ||||
-rw-r--r-- | signal.c | 1 |
3 files changed, 3 insertions, 0 deletions
@@ -3168,6 +3168,7 @@ event_free_debug_globals_locks(void) #ifndef EVENT__DISABLE_DEBUG_MODE if (event_debug_map_lock_ != NULL) { EVTHREAD_FREE_LOCK(event_debug_map_lock_, 0); + event_debug_map_lock_ = NULL; } #endif /* EVENT__DISABLE_DEBUG_MODE */ #endif /* EVENT__DISABLE_THREAD_SUPPORT */ diff --git a/evutil_rand.c b/evutil_rand.c index 9259335c..dd566bac 100644 --- a/evutil_rand.c +++ b/evutil_rand.c @@ -124,6 +124,7 @@ evutil_free_secure_rng_globals_locks(void) #ifndef EVENT__DISABLE_THREAD_SUPPORT if (arc4rand_lock != NULL) { EVTHREAD_FREE_LOCK(arc4rand_lock, 0); + arc4rand_lock = NULL; } #endif return; @@ -455,6 +455,7 @@ evsig_free_globals_locks(void) #ifndef EVENT__DISABLE_THREAD_SUPPORT if (evsig_base_lock != NULL) { EVTHREAD_FREE_LOCK(evsig_base_lock, 0); + evsig_base_lock = NULL; } #endif return; |