Diff for /libaitrpc/src/srv.c between versions 1.3.2.3 and 1.3.2.8

version 1.3.2.3, 2011/08/18 21:20:54 version 1.3.2.8, 2011/08/19 09:32:38
Line 76  rpc_srv_dispatchCall(void *arg) Line 76  rpc_srv_dispatchCall(void *arg)
                         ret = -2;                          ret = -2;
                 }                  }
                 memset(buf, 0, BUFSIZ);                  memset(buf, 0, BUFSIZ);
                if ((ret = recv(c->cli_sock, buf, BUFSIZ, 0)) == -1) {                if ((ret = read(c->cli_sock, buf, BUFSIZ)) == -1) {
                         LOGERR;                          LOGERR;
                         ret = -3;                          ret = -3;
                         break;                          break;
Line 156  rpc_srv_dispatchCall(void *arg) Line 156  rpc_srv_dispatchCall(void *arg)
                         if ((ret = rpc_srv_execCall(f, rpc, v)) == -1)                          if ((ret = rpc_srv_execCall(f, rpc, v)) == -1)
                                 ret = -9;                                  ret = -9;
                         else                          else
                                argc = rpc_srv_getValsCall(f, &vals);                                argc = rpc_srv_getVars(f, &vals);
 makeReply:  makeReply:
                 memset(buf, 0, BUFSIZ);                  memset(buf, 0, BUFSIZ);
                 rrpc = (struct tagRPCRet*) buf;                  rrpc = (struct tagRPCRet*) buf;
Line 174  makeReply: Line 174  makeReply:
                         if (argc * sizeof(rpc_val_t) > BUFSIZ - Limit) {                          if (argc * sizeof(rpc_val_t) > BUFSIZ - Limit) {
                                 for (i = 0; i < argc; i++)                                  for (i = 0; i < argc; i++)
                                         RPC_FREE_VAL(&vals[i]);                                          RPC_FREE_VAL(&vals[i]);
                                rpc_srv_freeValsCall(f);                                rpc_srv_freeVars(f);
                                 vals = NULL;                                  vals = NULL;
                                 argc = 0;                                  argc = 0;
                                 ret = -7;                                  ret = -7;
Line 223  makeReply: Line 223  makeReply:
   
                                 RPC_FREE_VAL(&vals[i]);                                  RPC_FREE_VAL(&vals[i]);
                         }                          }
                        rpc_srv_freeValsCall(f);                        rpc_srv_freeVars(f);
                         vals = NULL;                          vals = NULL;
                         argc = 0;                          argc = 0;
                 }                  }
   
                if ((ret = send(c->cli_sock, buf, Limit, 0)) == -1) {                if ((ret = write(c->cli_sock, buf, Limit)) == -1) {
                         LOGERR;                          LOGERR;
                         ret = -8;                          ret = -8;
                         break;                          break;
Line 280  rpc_srv_dispatchVars(void *arg) Line 280  rpc_srv_dispatchVars(void *arg)
                 }                  }
   
                 memset(buf, 0, sizeof buf);                  memset(buf, 0, sizeof buf);
                if ((ret = recv(c->cli_sock, buf, sizeof buf, 0)) == -1) {                if ((ret = read(c->cli_sock, buf, sizeof buf)) == -1) {
                         LOGERR;                          LOGERR;
                         ret = -3;                          ret = -3;
                         break;                          break;
Line 343  makeReply: Line 343  makeReply:
                 // Replay to client!                  // Replay to client!
                 blob->hdr_cmd = ret < 0 ? error : ok;                  blob->hdr_cmd = ret < 0 ? error : ok;
                 blob->hdr_ret = ret;                  blob->hdr_ret = ret;
                if ((ret = send(c->cli_sock, buf, sizeof buf, 0)) == -1) {                if ((ret = write(c->cli_sock, buf, sizeof buf)) == -1) {
                         LOGERR;                          LOGERR;
                         ret = -8;                          ret = -8;
                         break;                          break;
Line 421  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, int Line 421  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, int
         }          }
   
         /* create BLOB server socket */          /* create BLOB server socket */
           srv->srv_blob.server.cli_type = sockType ? sockType : SOCK_STREAM;
         srv->srv_blob.server.cli_sock = socket(srv->srv_server.cli_sa.sa_family,           srv->srv_blob.server.cli_sock = socket(srv->srv_server.cli_sa.sa_family, 
                        sockType ? sockType : SOCK_STREAM, 0);                        srv->srv_blob.server.cli_type, 0);
         if (srv->srv_blob.server.cli_sock == -1) {          if (srv->srv_blob.server.cli_sock == -1) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
Line 535  rpc_srv_execBLOBServer(rpc_srv_t * __restrict srv) Line 536  rpc_srv_execBLOBServer(rpc_srv_t * __restrict srv)
                         return -1;                          return -1;
                 }                  }
   
        while (!blob_Kill && !rpc_Kill) {        while (srv->srv_blob.state != kill && srv->srv_kill != kill) {
                 for (c = srv->srv_blob.clients, i = 0; i < srv->srv_numcli && c; i++, c++)                  for (c = srv->srv_blob.clients, i = 0; i < srv->srv_numcli && c; i++, c++)
                         if (!c->cli_sa.sa_family)                          if (!c->cli_sa.sa_family)
                                 break;                                  break;
Line 673  rpc_srv_initServer(u_int regProgID, u_int regProcID, i Line 674  rpc_srv_initServer(u_int regProgID, u_int regProcID, i
         }          }
   
         /* create server socket */          /* create server socket */
        srv->srv_server.cli_sock = socket(family, sockType ? sockType : SOCK_STREAM, 0);        srv->srv_server.cli_type = sockType ? sockType : SOCK_STREAM;
         srv->srv_server.cli_sock = socket(family, srv->srv_server.cli_type, 0);
         if (srv->srv_server.cli_sock == -1) {          if (srv->srv_server.cli_sock == -1) {
                 LOGERR;                  LOGERR;
                 free(srv);                  free(srv);
                 return NULL;                  return NULL;
        } else        }
                srv->srv_server.cli_type = sockType; 
         if (setsockopt(srv->srv_server.cli_sock, SOL_SOCKET, SO_REUSEADDR, &n, sizeof n) == -1) {          if (setsockopt(srv->srv_server.cli_sock, SOL_SOCKET, SO_REUSEADDR, &n, sizeof n) == -1) {
                 LOGERR;                  LOGERR;
                 close(srv->srv_server.cli_sock);                  close(srv->srv_server.cli_sock);
Line 786  rpc_srv_execServer(rpc_srv_t * __restrict srv) Line 787  rpc_srv_execServer(rpc_srv_t * __restrict srv)
                         return -1;                          return -1;
                 }                  }
   
        while (!rpc_Kill) {        while (srv->srv_kill != kill) {
                 for (c = srv->srv_clients, i = 0; i < srv->srv_numcli && c; i++, c++)                  for (c = srv->srv_clients, i = 0; i < srv->srv_numcli && c; i++, c++)
                         if (!c->cli_sa.sa_family)                          if (!c->cli_sa.sa_family)
                                 break;                                  break;

Removed from v.1.3.2.3  
changed lines
  Added in v.1.3.2.8


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