From: Jérémie Galarneau Date: Tue, 23 Sep 2014 21:46:32 +0000 (-0400) Subject: Fix: Propagate socket timeouts on lttcomm_accept_inet_sock() X-Git-Tag: v2.6.0-rc1~46 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=71c648d8989148e1e80a0d676b468571fa31e274 Fix: Propagate socket timeouts on lttcomm_accept_inet_sock() 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 --- 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;