Diff for /libaitrpc/src/srv.c between versions 1.27.2.3 and 1.27.2.5

version 1.27.2.3, 2015/07/19 23:38:09 version 1.27.2.5, 2015/07/22 12:49:10
Line 1167  end: Line 1167  end:
 static void *  static void *
 flushBLOB(sched_task_t *task)  flushBLOB(sched_task_t *task)
 {  {
#ifndef atomic_load_acq_ptr#ifdef atomic_load_acq_ptr
         uintptr_t sigArg = atomic_load_acq_ptr(&_glSigArg);          uintptr_t sigArg = atomic_load_acq_ptr(&_glSigArg);
 #else  #else
         uintptr_t sigArg = *((volatile uintptr_t*) &_glSigArg);          uintptr_t sigArg = *((volatile uintptr_t*) &_glSigArg);
Line 1379  rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) Line 1379  rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv)
   
         srv->srv_blob.kill = 1;          srv->srv_blob.kill = 1;
   
         schedEnd(&srv->srv_blob.root);  
   
         if (srv->srv_blob.server.cli_sa.sa.sa_family == AF_LOCAL)          if (srv->srv_blob.server.cli_sa.sa.sa_family == AF_LOCAL)
                 unlink(srv->srv_blob.server.cli_sa.sun.sun_path);                  unlink(srv->srv_blob.server.cli_sa.sun.sun_path);
   
           schedEnd(&srv->srv_blob.root);
 }  }
   
 /*  /*
Line 1413  rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv) Line 1413  rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv)
                 /* disabled kqueue support in libaitsched */                  /* disabled kqueue support in libaitsched */
                 struct sigaction sa;                  struct sigaction sa;
   
#ifndef atomic_store_rel_ptr#ifdef atomic_store_rel_ptr
                 atomic_store_rel_ptr(&_glSigArg, (uintptr_t) srv);                  atomic_store_rel_ptr(&_glSigArg, (uintptr_t) srv);
 #else  #else
                 *((volatile uintptr_t*) &_glSigArg) = (uintptr_t) srv;                  *((volatile uintptr_t*) &_glSigArg) = (uintptr_t) srv;
Line 1607  rpc_srv_endServer(rpc_srv_t ** __restrict psrv) Line 1607  rpc_srv_endServer(rpc_srv_t ** __restrict psrv)
         /* if send kill to blob server */          /* if send kill to blob server */
         rpc_srv_endBLOBServer(*psrv);          rpc_srv_endBLOBServer(*psrv);
         /* wait for BLOB server done */          /* wait for BLOB server done */
        while ((*psrv)->srv_blob.root)        while (*(&(*psrv)->srv_blob.root))
                 usleep(1000);                  usleep(1000);
   
         (*psrv)->srv_kill = 1;          (*psrv)->srv_kill = 1;
         sleep(RPC_SCHED_POLLING);          sleep(RPC_SCHED_POLLING);
   
         schedEnd(&(*psrv)->srv_root);  
   
         if ((*psrv)->srv_server.cli_sa.sa.sa_family == AF_LOCAL)          if ((*psrv)->srv_server.cli_sa.sa.sa_family == AF_LOCAL)
                 unlink((*psrv)->srv_server.cli_sa.sun.sun_path);                  unlink((*psrv)->srv_server.cli_sa.sun.sun_path);
   
           schedEnd(&(*psrv)->srv_root);
   
         pthread_mutex_destroy(&(*psrv)->srv_funcs.mtx);          pthread_mutex_destroy(&(*psrv)->srv_funcs.mtx);
         e_free(*psrv);          e_free(*psrv);

Removed from v.1.27.2.3  
changed lines
  Added in v.1.27.2.5


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