--- libaitrpc/src/builtin.c 2010/07/08 07:16:36 1.1.1.1.2.5 +++ libaitrpc/src/builtin.c 2010/07/08 09:18:51 1.1.1.1.2.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: builtin.c,v 1.1.1.1.2.5 2010/07/08 07:16:36 misho Exp $ +* $Id: builtin.c,v 1.1.1.1.2.6 2010/07/08 09:18:51 misho Exp $ * *************************************************************************/ #include "global.h" @@ -159,12 +159,16 @@ rpcBLOBServerVars(rpc_func_t *call, int ic, rpc_val_t else srv = call->func_parent; + pthread_mutex_lock(&srv->srv_blob.mtx); for (i = 0, b = srv->srv_blob.blobs; b; i++, b = b->blob_next); - if (!(vals = rpc_srv_retValsCall(call, i))) + if (!(vals = rpc_srv_retValsCall(call, i))) { + pthread_mutex_unlock(&srv->srv_blob.mtx); return -1; + } for (b = srv->srv_blob.blobs, v = vals; b; b = b->blob_next) RPC_SET_U32(v++, b->blob_var); + pthread_mutex_unlock(&srv->srv_blob.mtx); return 0; }