Fix: agent may not be ready on launch
[lttng-tools.git] / src / bin / lttng-sessiond / agent-thread.c
index 2b6f776dd1d2af6010dd9c3c4f550e6873d0280d..ddc6c7e62aeab3c5e058b0ddd0225eb76ffc1d1d 100644 (file)
@@ -15,7 +15,6 @@
  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
 #define _LGPL_SOURCE
 #include <assert.h>
 
@@ -89,8 +88,8 @@ static struct lttcomm_sock *init_tcp_socket(void)
         */
        ret = uri_parse(default_reg_uri, &uri);
        assert(ret);
-       assert(agent_tcp_port);
-       uri->port = agent_tcp_port;
+       assert(config.agent_tcp_port);
+       uri->port = config.agent_tcp_port;
 
        sock = lttcomm_alloc_sock_from_uri(uri);
        uri_free(uri);
@@ -117,7 +116,7 @@ static struct lttcomm_sock *init_tcp_socket(void)
        }
 
        DBG("[agent-thread] Listening on TCP port %u and socket %d",
-                       agent_tcp_port, sock->fd);
+                       config.agent_tcp_port, sock->fd);
 
        return sock;
 
@@ -135,7 +134,7 @@ static void destroy_tcp_socket(struct lttcomm_sock *sock)
 {
        assert(sock);
 
-       DBG3("[agent-thread] Destroy TCP socket on port %u", agent_tcp_port);
+       DBG3("[agent-thread] Destroy TCP socket on port %u", config.agent_tcp_port);
 
        /* This will return gracefully if fd is invalid. */
        sock->ops->close(sock);
@@ -249,11 +248,12 @@ void *agent_thread_manage_registration(void *data)
        }
 
        reg_sock = init_tcp_socket();
+       sessiond_notify_ready();
        if (!reg_sock) {
                goto error_tcp_socket;
        }
 
-       /* Add create valid TCP socket to poll set. */
+       /* Add TCP socket to poll set. */
        ret = lttng_poll_add(&events, reg_sock->fd,
                        LPOLLIN | LPOLLERR | LPOLLHUP | LPOLLRDHUP);
        if (ret < 0) {
This page took 0.027654 seconds and 4 git commands to generate.