summaryrefslogtreecommitdiffstats
path: root/lib/uid_wrapper/uid_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/uid_wrapper/uid_wrapper.c')
-rw-r--r--lib/uid_wrapper/uid_wrapper.c7
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;