Make libevent_global_shutdown() idempotent

Two calls to libevent_global_shutdown on your exit path shouldn't
result in a crash.
This commit is contained in:
Nick Mathewson 2012-03-26 17:35:21 -04:00
parent 43d5389c80
commit 55e991b27c
3 changed files with 3 additions and 0 deletions

View File

@ -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 */

View File

@ -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;

View File

@ -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;