X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Fmain.c;h=70c194b226cc2c90dff6f5fee045b036178f2cf3;hp=abd4e087fd313c11fea10376393b32e9f6c29e5c;hb=809dc2811860434a76e4f10cb9f05d938148090c;hpb=975fdf538aa48b87f0e22ded95bbbe39a942d2a7 diff --git a/ltt-sessiond/main.c b/ltt-sessiond/main.c index abd4e087f..70c194b22 100644 --- a/ltt-sessiond/main.c +++ b/ltt-sessiond/main.c @@ -859,10 +859,10 @@ static void *thread_manage_apps(void *data) } /* - * Basic recv here to handle the very simple data - * that the libust send to register (reg_msg). + * Using message-based transmissions to ensure we don't + * have to deal with partially received messages. */ - ret = recv(sock, ®_msg, sizeof(reg_msg), 0); + ret = lttcomm_recv_unix_sock(sock, ®_msg, sizeof(reg_msg)); if (ret < 0) { perror("recv"); continue; @@ -871,6 +871,11 @@ static void *thread_manage_apps(void *data) /* Add application to the global traceable list */ if (reg_msg.reg == 1) { /* Registering */ + /* + * TODO: socket should be either passed to a + * listener thread (for more messages) or + * closed. It currently leaks. + */ ret = register_traceable_app(reg_msg.pid, reg_msg.uid); if (ret < 0) { /* register_traceable_app only return an error with