From 27fe9f21a757d7adf834a6334322a79cc19164ab Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 28 Feb 2013 17:18:06 -0500 Subject: [PATCH] Fix: Only notify socket should have timeout/nonblock Signed-off-by: Mathieu Desnoyers --- liblttng-ust/lttng-ust-comm.c | 46 +++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c index 1f60f86d..e2f94cfd 100644 --- a/liblttng-ust/lttng-ust-comm.c +++ b/liblttng-ust/lttng-ust-comm.c @@ -926,7 +926,6 @@ restart: } /* Register */ - timeout = get_notify_sock_timeout(); for (i = 0; i < 2; i++) { ret = ustcomm_connect_unix_sock(sock_info->sock_path); if (ret < 0) { @@ -942,33 +941,34 @@ restart: goto restart; } open_sock[i] = ret; - if (timeout > 0) { - ret = ustcomm_setsockopt_rcv_timeout(open_sock[i], - timeout); - if (ret < 0) { - WARN("Error setting socket receive timeout"); - } - ret = ustcomm_setsockopt_snd_timeout(open_sock[i], - timeout); - if (ret < 0) { - WARN("Error setting socket send timeout"); - } - } else if (timeout == -1) { - ret = fcntl(open_sock[i], F_SETFL, O_NONBLOCK); - if (ret < 0) { - WARN("Error setting socket to non-blocking"); - } - } else { - if (timeout != 0) { - WARN("Unsuppoorted timeout value %ld", - timeout); - } - } } sock_info->socket = open_sock[0]; sock_info->notify_socket = open_sock[1]; + timeout = get_notify_sock_timeout(); + if (timeout > 0) { + ret = ustcomm_setsockopt_rcv_timeout(sock_info->notify_socket, + timeout); + if (ret < 0) { + WARN("Error setting socket receive timeout"); + } + ret = ustcomm_setsockopt_snd_timeout(sock_info->notify_socket, + timeout); + if (ret < 0) { + WARN("Error setting socket send timeout"); + } + } else if (timeout == -1) { + ret = fcntl(sock_info->notify_socket, F_SETFL, O_NONBLOCK); + if (ret < 0) { + WARN("Error setting socket to non-blocking"); + } + } else { + if (timeout != 0) { + WARN("Unsuppoorted timeout value %ld", timeout); + } + } + /* * Create only one root handle per listener thread for the whole * process lifetime, so we ensure we get ID which is statically -- 2.34.1