summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorIan Dowse <iedowse@FreeBSD.org>2002-06-30 23:34:58 +0000
committerIan Dowse <iedowse@FreeBSD.org>2002-06-30 23:34:58 +0000
commitc8fe120f044a5456244dff47db0d99ccdca42cab (patch)
treeaa29756778206811167c265dddf9f2947ded4cab /lib/libc
parent2b5c9e33c38cee3538c764f6598e42a627b3a635 (diff)
Notes
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/rpc/pmap_rmt.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/libc/rpc/pmap_rmt.c b/lib/libc/rpc/pmap_rmt.c
index f36acf11235b..31ac4a4f5b04 100644
--- a/lib/libc/rpc/pmap_rmt.c
+++ b/lib/libc/rpc/pmap_rmt.c
@@ -330,16 +330,20 @@ clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult)
* minute or so
*/
for (t.tv_sec = 4; t.tv_sec <= 14; t.tv_sec += 2) {
+ int success = 0;
for (i = 0; i < nets; i++) {
baddr.sin_addr = addrs[i];
if (sendto(sock, outbuf, outlen, 0,
(struct sockaddr *)&baddr,
- sizeof (struct sockaddr)) != outlen) {
- perror("Cannot send broadcast packet");
- stat = RPC_CANTSEND;
- goto done_broad;
+ sizeof (struct sockaddr)) == outlen) {
+ success++;
}
}
+ if (!success) {
+ perror("Cannot send broadcast packet");
+ stat = RPC_CANTSEND;
+ goto done_broad;
+ }
if (eachresult == NULL) {
stat = RPC_SUCCESS;
goto done_broad;