relayd: move relay_session locking outside of make_viewer_streams
[lttng-tools.git] / src / bin / lttng-relayd / viewer-session.c
index a4b859726a6ea9b9bc7ef86ac5a019f43e29bdc2..5f9c7c5769f799d5ff101446b730b06c340b5f4f 100644 (file)
@@ -47,12 +47,13 @@ int viewer_session_attach(struct relay_viewer_session *vsession,
 {
        int ret = 0;
 
+       ASSERT_LOCKED(session->lock);
+
        /* Will not fail, as per the ownership guarantee. */
        if (!session_get(session)) {
                ret = -1;
                goto end;
        }
-       pthread_mutex_lock(&session->lock);
        if (session->viewer_attached) {
                ret = -1;
        } else {
@@ -69,8 +70,6 @@ int viewer_session_attach(struct relay_viewer_session *vsession,
                /* Put our local ref. */
                session_put(session);
        }
-       /* Safe since we know the session exists. */
-       pthread_mutex_unlock(&session->lock);
 end:
        return ret;
 }
This page took 0.022817 seconds and 4 git commands to generate.