--- libaitrpc/src/srv.c 2011/09/03 12:58:49 1.4.2.9 +++ libaitrpc/src/srv.c 2011/09/06 23:58:48 1.4.2.10 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.4.2.9 2011/09/03 12:58:49 misho Exp $ +* $Id: srv.c,v 1.4.2.10 2011/09/06 23:58:48 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -448,13 +448,13 @@ rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) shutdown(c->cli_sock, SHUT_RDWR); close(srv->srv_blob.server.cli_sock); + pthread_mutex_lock(&srv->srv_blob.mtx); if (srv->srv_blob.clients) { free(srv->srv_blob.clients); srv->srv_blob.clients = NULL; } /* detach blobs */ - pthread_mutex_lock(&srv->srv_blob.mtx); while ((f = srv->srv_blob.blobs)) { srv->srv_blob.blobs = f->blob_next; rpc_srv_blobFree(srv, f); @@ -496,9 +496,10 @@ rpc_srv_loopBLOB(rpc_srv_t * __restrict srv) if (!c->cli_sa.sa_family) break; if (i >= srv->srv_numcli) { - usleep(1000000); #ifdef HAVE_PTHREAD_YIELD pthread_yield(); +#else + usleep(1000000); #endif continue; } @@ -759,9 +760,10 @@ rpc_srv_loopServer(rpc_srv_t * __restrict srv) if (!c->cli_sa.sa_family) break; if (i >= srv->srv_numcli) { - usleep(1000000); #ifdef HAVE_PTHREAD_YIELD pthread_yield(); +#else + usleep(1000000); #endif continue; }