version 1.11, 2013/08/23 13:53:15
|
version 1.12, 2013/11/11 22:48:53
|
Line 228 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
Line 228 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
for (len = blen; len > 0; len -= ret, buf += ret) { |
for (len = blen; len > 0; len -= ret, buf += ret) { |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
LOGERR; | if (!ret) |
| continue; |
| if (ret > 0) |
| rpc_SetErr(EPIPE, "Disconnected RPC session\n"); |
| else |
| LOGERR; |
return -1; |
return -1; |
} else |
} else |
ret = send(sock, buf, len, flags); |
ret = send(sock, buf, len, flags); |
Line 240 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
Line 245 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
if (ret > -1) |
if (ret > -1) |
ret = blen - len; |
ret = blen - len; |
} else if (sa) { |
} else if (sa) { |
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || | do { |
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { | if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
LOGERR; | pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
return -1; | if (!ret) |
} else | continue; |
ret = sendto(sock, buf, blen, flags, &sa->sa, sa->sa.sa_len); | if (ret > 0) |
| rpc_SetErr(EPIPE, "Disconnected RPC session\n"); |
| else |
| LOGERR; |
| return -1; |
| } else |
| ret = sendto(sock, buf, blen, flags, &sa->sa, sa->sa.sa_len); |
| } while (0); |
} else { |
} else { |
rpc_SetErr(EINVAL, "Invalid argument(s)!"); |
rpc_SetErr(EINVAL, "Invalid argument(s)!"); |
return -1; |
return -1; |