Diff for /libaitrpc/src/cli.c between versions 1.9.2.11 and 1.9.2.16

version 1.9.2.11, 2012/05/17 15:21:08 version 1.9.2.16, 2012/05/18 15:24:33
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;
Line 384  rpc_cli_ping(rpc_cli_t *cli) Line 402  rpc_cli_ping(rpc_cli_t *cli)
         if (rpc_cli_execCall(cli, RPC_REPLY, CALL_SRVPING, NULL, &arr))          if (rpc_cli_execCall(cli, RPC_REPLY, CALL_SRVPING, NULL, &arr))
                 return -1;                  return -1;
         else          else
                ret = AIT_GET_U16(io_getVars(arr, 0));                ret = AIT_GET_U16(io_array(arr, 0, ait_val_t*));
         io_freeVars(&arr);          io_freeVars(&arr);
   
         return ret;          return ret;

Removed from v.1.9.2.11  
changed lines
  Added in v.1.9.2.16


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>