Diff for /libaitrpc/src/srv.c between versions 1.6.2.5 and 1.6.2.6

version 1.6.2.5, 2012/03/13 17:15:31 version 1.6.2.6, 2012/03/13 17:21:52
Line 421  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s Line 421  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
         } else          } else
                srv->srv_blob.dir = strdup(diskDir);                AIT_SET_STR(&srv->srv_blob.dir, diskDir);
   
         srv->srv_blob.server.cli_tid = pthread_self();          srv->srv_blob.server.cli_tid = pthread_self();
         srv->srv_blob.server.cli_parent = srv;          srv->srv_blob.server.cli_parent = srv;
Line 438  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s Line 438  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s
                         strlcat(sa.sun.sun_path, ".blob", sizeof sa.sun.sun_path);                          strlcat(sa.sun.sun_path, ".blob", sizeof sa.sun.sun_path);
                         break;                          break;
                 default:                  default:
                        free(srv->srv_blob.dir);                        AIT_FREE_VAL(&srv->srv_blob.dir);
                         return -1;                          return -1;
         }          }
         memcpy(&srv->srv_blob.server.cli_sa, &sa, sizeof sa);          memcpy(&srv->srv_blob.server.cli_sa, &sa, sizeof sa);
Line 447  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s Line 447  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s
         srv->srv_blob.server.cli_sock = socket(srv->srv_server.cli_sa.sa.sa_family, SOCK_STREAM, 0);          srv->srv_blob.server.cli_sock = socket(srv->srv_server.cli_sa.sa.sa_family, SOCK_STREAM, 0);
         if (srv->srv_blob.server.cli_sock == -1) {          if (srv->srv_blob.server.cli_sock == -1) {
                 LOGERR;                  LOGERR;
                free(srv->srv_blob.dir);                AIT_FREE_VAL(&srv->srv_blob.dir);
                 return -1;                  return -1;
         }          }
         if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_REUSEADDR, &n, sizeof n) == -1) {          if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_REUSEADDR, &n, sizeof n) == -1) {
                 LOGERR;                  LOGERR;
                 close(srv->srv_blob.server.cli_sock);                  close(srv->srv_blob.server.cli_sock);
                free(srv->srv_blob.dir);                AIT_FREE_VAL(&srv->srv_blob.dir);
                 return -1;                  return -1;
         }          }
         n = srv->srv_netbuf;          n = srv->srv_netbuf;
         if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_SNDBUF, &n, sizeof n) == -1) {          if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_SNDBUF, &n, sizeof n) == -1) {
                 LOGERR;                  LOGERR;
                 close(srv->srv_blob.server.cli_sock);                  close(srv->srv_blob.server.cli_sock);
                free(srv->srv_blob.dir);                AIT_FREE_VAL(&srv->srv_blob.dir);
                 return -1;                  return -1;
         }          }
         if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_RCVBUF, &n, sizeof n) == -1) {          if (setsockopt(srv->srv_blob.server.cli_sock, SOL_SOCKET, SO_RCVBUF, &n, sizeof n) == -1) {
                 LOGERR;                  LOGERR;
                 close(srv->srv_blob.server.cli_sock);                  close(srv->srv_blob.server.cli_sock);
                free(srv->srv_blob.dir);                AIT_FREE_VAL(&srv->srv_blob.dir);
                 return -1;                  return -1;
         }          }
         if (bind(srv->srv_blob.server.cli_sock, &srv->srv_blob.server.cli_sa.sa,           if (bind(srv->srv_blob.server.cli_sock, &srv->srv_blob.server.cli_sa.sa, 
                                 srv->srv_blob.server.cli_sa.sa.sa_len) == -1) {                                  srv->srv_blob.server.cli_sa.sa.sa_len) == -1) {
                 LOGERR;                  LOGERR;
                 close(srv->srv_blob.server.cli_sock);                  close(srv->srv_blob.server.cli_sock);
                free(srv->srv_blob.dir);                AIT_FREE_VAL(&srv->srv_blob.dir);
                 return -1;                  return -1;
         }          }
   
Line 482  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s Line 482  rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_s
         if (!srv->srv_blob.clients) {          if (!srv->srv_blob.clients) {
                 LOGERR;                  LOGERR;
                 close(srv->srv_blob.server.cli_sock);                  close(srv->srv_blob.server.cli_sock);
                free(srv->srv_blob.dir);                AIT_FREE_VAL(&srv->srv_blob.dir);
                 return -1;                  return -1;
         } else          } else
                 memset(srv->srv_blob.clients, 0, srv->srv_numcli * sizeof(rpc_cli_t));                  memset(srv->srv_blob.clients, 0, srv->srv_numcli * sizeof(rpc_cli_t));
Line 522  rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) Line 522  rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv)
         rpc_srv_unregisterCall(srv, NULL, CALL_BLOBVARS);          rpc_srv_unregisterCall(srv, NULL, CALL_BLOBVARS);
         rpc_srv_unregisterCall(srv, NULL, CALL_BLOBSTATE);          rpc_srv_unregisterCall(srv, NULL, CALL_BLOBSTATE);
   
        if (srv->srv_blob.dir)        AIT_FREE_VAL(&srv->srv_blob.dir);
                free(srv->srv_blob.dir); 
   
         /* close all clients connections & server socket */          /* close all clients connections & server socket */
         for (i = 0, c = srv->srv_blob.clients; i < srv->srv_numcli && c; i++, c++)          for (i = 0, c = srv->srv_blob.clients; i < srv->srv_numcli && c; i++, c++)

Removed from v.1.6.2.5  
changed lines
  Added in v.1.6.2.6


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