From 71c648d8989148e1e80a0d676b468571fa31e274 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Tue, 23 Sep 2014 17:46:32 -0400 Subject: [PATCH] Fix: Propagate socket timeouts on lttcomm_accept_inet_sock() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Ensure that send/recv timeouts are applied to new sockets created from a lttcomm_accept_inet_sock(). Signed-off-by: Jérémie Galarneau Signed-off-by: David Goulet --- src/common/sessiond-comm/inet.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/common/sessiond-comm/inet.c b/src/common/sessiond-comm/inet.c index 2c959c5fe..cf06ecb85 100644 --- a/src/common/sessiond-comm/inet.c +++ b/src/common/sessiond-comm/inet.c @@ -275,6 +275,7 @@ struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock) int new_fd; socklen_t len; struct lttcomm_sock *new_sock; + unsigned long timeout; if (sock->proto == LTTCOMM_SOCK_UDP) { /* @@ -298,6 +299,19 @@ struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock) PERROR("accept inet"); goto error; } + timeout = lttcomm_get_network_timeout(); + if (timeout) { + int ret; + + ret = lttcomm_setsockopt_rcv_timeout(new_fd, timeout); + if (ret) { + goto error; + } + ret = lttcomm_setsockopt_snd_timeout(new_fd, timeout); + if (ret) { + goto error; + } + } new_sock->fd = new_fd; new_sock->ops = &inet_ops; -- 2.34.1