Fix: various compat poll/epoll issues
[lttng-tools.git] / src / bin / lttng-sessiond / agent-thread.c
index 0e827a4456d4c0ea9c37b54818bbcb6ba4c5e7a7..d7d9c6c349412ba659c3d3720e950b18ac3b8389 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #define _GNU_SOURCE
+#define _LGPL_SOURCE
 #include <assert.h>
 
 #include <common/common.h>
@@ -60,10 +61,12 @@ static void update_agent_app(struct agent_app *app)
                if (session->ust_session) {
                        struct agent *agt;
 
+                       rcu_read_lock();
                        agt = trace_ust_find_agent(session->ust_session, app->domain);
                        if (agt) {
                                agent_update(agt, app->sock->fd);
                        }
+                       rcu_read_unlock();
                }
                session_unlock(session);
        }
@@ -215,7 +218,7 @@ static int handle_registration(struct lttcomm_sock *reg_sock,
 
        size = new_sock->ops->recvmsg(new_sock, &msg, sizeof(msg), 0);
        if (size < sizeof(msg)) {
-               ret = -errno;
+               ret = -EINVAL;
                goto error_socket;
        }
        domain = be32toh(msg.domain);
This page took 0.024825 seconds and 5 git commands to generate.