diff options
Diffstat (limited to 'lib/uid_wrapper/uid_wrapper.c')
-rw-r--r-- | lib/uid_wrapper/uid_wrapper.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c index 772dc93616..578977dadc 100644 --- a/lib/uid_wrapper/uid_wrapper.c +++ b/lib/uid_wrapper/uid_wrapper.c @@ -575,17 +575,16 @@ static void uwrap_init(void) const char *env = getenv("UID_WRAPPER"); pthread_t tid = pthread_self(); - - + UWRAP_LOCK(uwrap_id); if (uwrap.initialised) { struct uwrap_thread *id = uwrap_tls_id; int rc; if (id != NULL) { + UWRAP_UNLOCK(uwrap_id); return; } - UWRAP_LOCK(uwrap_id); id = find_uwrap_id(tid); if (id == NULL) { rc = uwrap_new_id(tid, true); @@ -605,8 +604,6 @@ static void uwrap_init(void) UWRAP_LOG(UWRAP_LOG_DEBUG, "Initialize uid_wrapper"); - UWRAP_LOCK(uwrap_id); - uwrap.initialised = true; uwrap.enabled = false; |