X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fagent-thread.c;h=4c1457fe0df7a6fed32ce8141a1474e4cc2d531e;hb=75a919034ca77a989248128265314af7776fa766;hp=56613a54f605853ecfab18867b37e621681a34e5;hpb=43ee60cefa1fb0ddd2ef4b616c0debfd977c56ec;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/agent-thread.c b/src/bin/lttng-sessiond/agent-thread.c index 56613a54f..4c1457fe0 100644 --- a/src/bin/lttng-sessiond/agent-thread.c +++ b/src/bin/lttng-sessiond/agent-thread.c @@ -217,7 +217,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); @@ -306,12 +306,13 @@ void *agent_thread_manage_registration(void *data) } while (1) { - DBG3("[agent-thread] Manage agent polling on %d fds", - LTTNG_POLL_GETNB(&events)); + DBG3("[agent-thread] Manage agent polling"); /* Inifinite blocking call, waiting for transmission */ restart: ret = lttng_poll_wait(&events, -1); + DBG3("[agent-thread] Manage agent return from poll on %d fds", + LTTNG_POLL_GETNB(&events)); if (ret < 0) { /* * Restart interrupted system call. @@ -329,6 +330,11 @@ restart: revents = LTTNG_POLL_GETEV(&events, i); pollfd = LTTNG_POLL_GETFD(&events, i); + if (!revents) { + /* No activity for this FD (poll implementation). */ + continue; + } + /* Thread quit pipe has been closed. Killing thread. */ ret = sessiond_check_thread_quit_pipe(pollfd, revents); if (ret) {