diff --git a/lib/nodes/socket.c b/lib/nodes/socket.c index 3cd02e1c2..5aa5f38bc 100644 --- a/lib/nodes/socket.c +++ b/lib/nodes/socket.c @@ -24,6 +24,7 @@ #include #include #include +#include #if defined(__linux__) #include @@ -370,8 +371,12 @@ int socket_write(struct node *n, struct sample *smps[], unsigned cnt) /* Send message */ bytes = sendto(s->sd, data, wbytes, 0, (struct sockaddr *) &s->remote, sizeof(s->remote)); - if (bytes < 0) - serror("Failed send to node %s", node_name(n)); + if (bytes < 0) { + if (errno == EPERM) + warn("Failed send to node %s: %s", node_name(n), strerror(errno)); + else + serror("Failed send to node %s", node_name(n)); + } if (bytes != wbytes) warn("Partial send to node %s", node_name(n));