Fix: work-around glibc __nptl_setxid vs clone hang
[lttng-tools.git] / src / common / runas.c
index 7de566ddb9fce211bb0db34d3c95c24a7cf6b3af..2c2015aa2d5b8206bca9052320553f8da78d431d 100644 (file)
@@ -317,8 +317,13 @@ static
 int run_as(int (*cmd)(void *data), void *data, uid_t uid, gid_t gid)
 {
        if (!getenv("LTTNG_DEBUG_NOCLONE")) {
+               int ret;
+
                DBG("Using run_as_clone");
-               return run_as_clone(cmd, data, uid, gid);
+               pthread_mutex_lock(&lttng_libc_state_lock);
+               ret = run_as_clone(cmd, data, uid, gid);
+               pthread_mutex_unlock(&lttng_libc_state_lock);
+               return ret;
        } else {
                DBG("Using run_as_noclone");
                return run_as_noclone(cmd, data, uid, gid);
This page took 0.024307 seconds and 4 git commands to generate.