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

version 1.9.2.10, 2012/05/17 15:14:16 version 1.9.2.16, 2012/05/18 15:24:33
Line 136  rpc_cli_closeBLOBClient(rpc_cli_t ** __restrict cli) Line 136  rpc_cli_closeBLOBClient(rpc_cli_t ** __restrict cli)
  *   *
  * @ProgID = ProgramID for RPC session request   * @ProgID = ProgramID for RPC session request
  * @ProcID = ProcessID for RPC session request   * @ProcID = ProcessID for RPC session request
 * @netBuf = Network buffer length, if =0 == BUFSIZ (also meaning max RPC packet) * @netBuf = Network buffer length (min:512 bytes), if =0 == BUFSIZ (also meaning max RPC packet)
  * @csHost = Host name or IP address for bind server   * @csHost = Host name or IP address for bind server
  * @Port = Port for bind server, if Port == 0 default port is selected   * @Port = Port for bind server, if Port == 0 default port is selected
  * return: NULL == error or !=NULL connection to RPC server established   * return: NULL == error or !=NULL connection to RPC server established
Line 151  rpc_cli_openClient(u_int ProgID, u_char ProcID, int ne Line 151  rpc_cli_openClient(u_int ProgID, u_char ProcID, int ne
                 return NULL;                  return NULL;
         if (!Port)          if (!Port)
                 Port = RPC_DEFPORT;                  Port = RPC_DEFPORT;
        if (!netBuf)        if (netBuf < RPC_MIN_BUFSIZ)
                 netBuf = BUFSIZ;                  netBuf = BUFSIZ;
           else
                   netBuf = io_align(netBuf, 1);   /* align netBuf length */
   
 #ifdef HAVE_SRANDOMDEV  #ifdef HAVE_SRANDOMDEV
         srandomdev();          srandomdev();
Line 286  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 299  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 373  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 382  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.10  
changed lines
  Added in v.1.9.2.16


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