diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2017-11-29 13:12:24 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2017-11-29 13:12:24 +0000 |
commit | ea0f1337b8429ecb966c70b43062fcf71a250ac0 (patch) | |
tree | 2f4c8ccc3b6781c53253ac06e26d631e75442372 /net-mgmt/collectd5/files/patch-src_network.c | |
parent | - Update to 2.3.5 (diff) |
Add a patch that sends a probe packet to the server when setting up the
client socket. It helps in a few cases where the server has multiple
addresses, only some of them are reachable, and connect() succeeds even
though sendto() will fail.
Approved by: maintainer
Notes
Notes:
svn path=/head/; revision=455109
Diffstat (limited to 'net-mgmt/collectd5/files/patch-src_network.c')
-rw-r--r-- | net-mgmt/collectd5/files/patch-src_network.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/net-mgmt/collectd5/files/patch-src_network.c b/net-mgmt/collectd5/files/patch-src_network.c new file mode 100644 index 000000000000..7b159123e621 --- /dev/null +++ b/net-mgmt/collectd5/files/patch-src_network.c @@ -0,0 +1,16 @@ +--- src/network.c.orig ++++ src/network.c +@@ -2000,6 +2000,13 @@ + continue; + } + ++ status = sendto(client->fd, "", 1, 0, ai_ptr->ai_addr, ai_ptr->ai_addrlen); ++ if (status != 1) { ++ close(client->fd); ++ client->fd = -1; ++ continue; ++ } ++ + client->addr = calloc(1, sizeof(*client->addr)); + if (client->addr == NULL) { + ERROR("network plugin: calloc failed."); |