diff options
| author | Ian Dowse <iedowse@FreeBSD.org> | 2002-06-30 23:34:58 +0000 |
|---|---|---|
| committer | Ian Dowse <iedowse@FreeBSD.org> | 2002-06-30 23:34:58 +0000 |
| commit | c8fe120f044a5456244dff47db0d99ccdca42cab (patch) | |
| tree | aa29756778206811167c265dddf9f2947ded4cab /lib/libc | |
| parent | 2b5c9e33c38cee3538c764f6598e42a627b3a635 (diff) | |
Notes
Diffstat (limited to 'lib/libc')
| -rw-r--r-- | lib/libc/rpc/pmap_rmt.c | 12 |
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; |
