--- libaitrpc/src/srv.c 2012/03/15 00:44:24 1.6.2.9 +++ libaitrpc/src/srv.c 2012/03/15 01:22:55 1.6.2.10 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.6.2.9 2012/03/15 00:44:24 misho Exp $ +* $Id: srv.c,v 1.6.2.10 2012/03/15 01:22:55 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -597,8 +597,6 @@ rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) rpc_srv_unregisterCall(srv, NULL, CALL_BLOBVARS); rpc_srv_unregisterCall(srv, NULL, CALL_BLOBSTATE); - AIT_FREE_VAL(&srv->srv_blob.dir); - /* close all clients connections & server socket */ for (i = 0, c = srv->srv_blob.clients; i < srv->srv_numcli && c; i++, c++) if (c->cli_sa.sa.sa_family) @@ -618,6 +616,8 @@ rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) free(f); } pthread_mutex_unlock(&srv->srv_blob.mtx); + + AIT_FREE_VAL(&srv->srv_blob.dir); while (pthread_mutex_trylock(&srv->srv_blob.mtx) == EBUSY); pthread_mutex_destroy(&srv->srv_blob.mtx);