version 1.9.2.11, 2012/05/17 15:21:08
|
version 1.9.2.15, 2012/05/17 22:57:42
|
Line 288 rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short
|
Line 288 rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short
|
rpc->call_crc ^= rpc->call_crc; |
rpc->call_crc ^= rpc->call_crc; |
rpc->call_crc = htons(crcFletcher16((u_short*) buf, wlen / 2)); |
rpc->call_crc = htons(crcFletcher16((u_short*) buf, wlen / 2)); |
|
|
|
pfd.fd = cli->cli_sock; |
|
pfd.events = POLLOUT; |
|
do { |
|
if ((ret = poll(&pfd, 1, DEF_RPC_TIMEOUT * 1000)) < 1 || |
|
pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
|
if (ret) { |
|
if (errno == EAGAIN) |
|
continue; |
|
else |
|
LOGERR; |
|
} else |
|
rpc_SetErr(ETIMEDOUT, "Timeout, can't send to RPC server"); |
|
return -1; |
|
} |
|
} while (0); |
if ((ret = send(cli->cli_sock, buf, wlen, MSG_NOSIGNAL)) == -1) { |
if ((ret = send(cli->cli_sock, buf, wlen, MSG_NOSIGNAL)) == -1) { |
LOGERR; |
LOGERR; |
return -1; |
return -1; |
Line 301 rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short
|
Line 316 rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short
|
return 0; |
return 0; |
|
|
/* reply from RPC server */ |
/* reply from RPC server */ |
pfd.fd = cli->cli_sock; |
|
pfd.events = POLLIN | POLLPRI; |
pfd.events = POLLIN | POLLPRI; |
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 || |
if (ret) | pfd.revents & (POLLERR | POLLHUP | POLLNVAL)) { |
LOGERR; | if (ret) { |
else | if (errno == EAGAIN) |
rpc_SetErr(ETIMEDOUT, "Timeout, no answer from RPC server"); | continue; |
| else |
return -1; | LOGERR; |
} | } else |
| rpc_SetErr(ETIMEDOUT, "Timeout, no answer from RPC server"); |
| return -1; |
| } |
| } while (0); |
memset(buf, 0, AIT_LEN(&cli->cli_buf)); |
memset(buf, 0, AIT_LEN(&cli->cli_buf)); |
if ((ret = recv(cli->cli_sock, buf, AIT_LEN(&cli->cli_buf), 0)) < 1) { |
if ((ret = recv(cli->cli_sock, buf, AIT_LEN(&cli->cli_buf), 0)) < 1) { |
if (ret) |
if (ret) |
Line 375 rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short
|
Line 393 rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short
|
inline int |
inline int |
rpc_cli_ping(rpc_cli_t *cli) |
rpc_cli_ping(rpc_cli_t *cli) |
{ |
{ |
array_t *arr; |
|
int ret = 0; |
int ret = 0; |
|
array_t *arr = NULL; |
|
|
if (!cli) |
if (!cli) |
return -1; |
return -1; |