From: Christian Brauner Date: Thu, 5 Jul 2018 23:15:38 +0000 (+0200) Subject: tree-wide: set MSG_NOSIGNAL X-Git-Tag: lxc-3.1.0~217^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2451%2Fhead;p=thirdparty%2Flxc.git tree-wide: set MSG_NOSIGNAL Signed-off-by: Christian Brauner --- diff --git a/src/lxc/commands.c b/src/lxc/commands.c index 618b3089d..9bf96fa8d 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -206,7 +206,7 @@ static int lxc_cmd_rsp_send(int fd, struct lxc_cmd_rsp *rsp) { ssize_t ret; - ret = send(fd, rsp, sizeof(*rsp), 0); + ret = send(fd, rsp, sizeof(*rsp), MSG_NOSIGNAL); if (ret < 0 || (size_t)ret != sizeof(*rsp)) { SYSERROR("Failed to send command response %zd", ret); return -1; @@ -215,7 +215,7 @@ static int lxc_cmd_rsp_send(int fd, struct lxc_cmd_rsp *rsp) if (!rsp->data || rsp->datalen <= 0) return 0; - ret = send(fd, rsp->data, rsp->datalen, 0); + ret = send(fd, rsp->data, rsp->datalen, MSG_NOSIGNAL); if (ret < 0 || ret != (ssize_t)rsp->datalen) { SYSWARN("Failed to send command response data %zd", ret); return -1; diff --git a/src/lxc/network.c b/src/lxc/network.c index c9497afa4..63f321f46 100644 --- a/src/lxc/network.c +++ b/src/lxc/network.c @@ -3094,7 +3094,7 @@ int lxc_network_send_veth_names_to_child(struct lxc_handler *handler) if (netdev->type != LXC_NET_VETH) continue; - ret = send(data_sock, netdev->name, IFNAMSIZ, 0); + ret = send(data_sock, netdev->name, IFNAMSIZ, MSG_NOSIGNAL); if (ret < 0) return -1; TRACE("Sent network device name \"%s\" to child", netdev->name); @@ -3142,14 +3142,14 @@ int lxc_network_send_name_and_ifindex_to_parent(struct lxc_handler *handler) struct lxc_netdev *netdev = iterator->elem; /* Send network device name in the child's namespace to parent. */ - ret = send(data_sock, netdev->name, IFNAMSIZ, 0); + ret = send(data_sock, netdev->name, IFNAMSIZ, MSG_NOSIGNAL); if (ret < 0) return -1; /* Send network device ifindex in the child's namespace to * parent. */ - ret = send(data_sock, &netdev->ifindex, sizeof(netdev->ifindex), 0); + ret = send(data_sock, &netdev->ifindex, sizeof(netdev->ifindex), MSG_NOSIGNAL); if (ret < 0) return -1; } diff --git a/src/lxc/nl.c b/src/lxc/nl.c index 994c960df..e1dd84432 100644 --- a/src/lxc/nl.c +++ b/src/lxc/nl.c @@ -229,7 +229,7 @@ extern int netlink_send(struct nl_handler *handler, struct nlmsg *nlmsg) nladdr.nl_pid = 0; nladdr.nl_groups = 0; - ret = sendmsg(handler->fd, &msg, 0); + ret = sendmsg(handler->fd, &msg, MSG_NOSIGNAL); if (ret < 0) return -errno; diff --git a/src/lxc/start.c b/src/lxc/start.c index e9eac4f2b..fe3100a90 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -452,7 +452,7 @@ int lxc_serve_state_clients(const char *name, struct lxc_handler *handler, lxc_state2str(state), client->clientfd); again: - ret = send(client->clientfd, &msg, sizeof(msg), 0); + ret = send(client->clientfd, &msg, sizeof(msg), MSG_NOSIGNAL); if (ret <= 0) { if (errno == EINTR) { TRACE("Caught EINTR; retrying");