Diff for /libaitrpc/src/cli.c between versions 1.9.2.13 and 1.9.2.17

version 1.9.2.13, 2012/05/17 21:14:13 version 1.9.2.17, 2012/05/18 15:37:58
Line 290  rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short  Line 290  rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short 
   
         pfd.fd = cli->cli_sock;          pfd.fd = cli->cli_sock;
         pfd.events = POLLOUT;          pfd.events = POLLOUT;
        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 ready to send");                                        continue;
                                else
                return -1;                                        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 311  rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short  Line 315  rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short 
         if (noreply)    /* we not want reply */          if (noreply)    /* we not want reply */
                 return 0;                  return 0;
   
           wlen = 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 {
                                 if (wlen++ < 7)
                                         continue;
                                 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 386  rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short  Line 398  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 395  rpc_cli_ping(rpc_cli_t *cli) Line 407  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.13  
changed lines
  Added in v.1.9.2.17


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