|
|
| version 1.13, 2013/11/15 09:55:52 | version 1.14, 2013/12/15 23:01:02 |
|---|---|
| Line 149 rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s) | Line 149 rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s) |
| * @sa = check client address, if you use udp protocol | * @sa = check client address, if you use udp protocol |
| * @buf = buffer | * @buf = buffer |
| * @blen = buffer length | * @blen = buffer length |
| * return: -1 error or >-1 readed bytes into buffer | * return: -1 error, 0 EOF or or >0 readed bytes into buffer |
| */ | */ |
| ssize_t | ssize_t |
| rpc_Read(int sock, int type, int flags, sockaddr_t * __restrict sa, | rpc_Read(int sock, int type, int flags, sockaddr_t * __restrict sa, |
| Line 189 rpc_Read(int sock, int type, int flags, sockaddr_t * _ | Line 189 rpc_Read(int sock, int type, int flags, sockaddr_t * _ |
| LOGERR; | LOGERR; |
| return -1; | return -1; |
| } | } |
| if (!ret) /* EOF */ | |
| return 0; | |
| } | } |
| ret = blen - len; | ret = blen - len; |
| Line 204 rpc_Read(int sock, int type, int flags, sockaddr_t * _ | Line 206 rpc_Read(int sock, int type, int flags, sockaddr_t * _ |
| * @sa = send to client address, if you use udp protocol | * @sa = send to client address, if you use udp protocol |
| * @buf = buffer | * @buf = buffer |
| * @blen = buffer length | * @blen = buffer length |
| * return: -1 error or >-1 written bytes into buffer | * return: -1 error, 0 EOF or >0 written bytes into buffer |
| */ | */ |
| ssize_t | ssize_t |
| rpc_Write(int sock, int type, int flags, sockaddr_t * __restrict sa, | rpc_Write(int sock, int type, int flags, sockaddr_t * __restrict sa, |
| Line 218 rpc_Write(int sock, int type, int flags, sockaddr_t * | Line 220 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)) { |
| #if 0 | |
| if (!ret) | if (!ret) |
| continue; | continue; |
| #endif | |
| if (ret > 0) | if (ret > 0) |
| rpc_SetErr(EPIPE, "Disconnected RPC session\n"); | rpc_SetErr(EPIPE, "Disconnected RPC session\n"); |
| else | else |
| Line 238 rpc_Write(int sock, int type, int flags, sockaddr_t * | Line 242 rpc_Write(int sock, int type, int flags, sockaddr_t * |
| LOGERR; | LOGERR; |
| return -1; | return -1; |
| } | } |
| if (!ret) /* EOF */ | |
| return 0; | |
| } | } |
| ret = blen - len; | ret = blen - len; |
| if (ret != blen) { | if (ret != blen) { |