--- libaitrpc/src/srv.c 2010/06/28 15:18:43 1.1.1.1.2.13 +++ libaitrpc/src/srv.c 2010/07/08 07:17:18 1.1.1.1.2.17 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.1.1.1.2.13 2010/06/28 15:18:43 misho Exp $ +* $Id: srv.c,v 1.1.1.1.2.17 2010/07/08 07:17:18 misho Exp $ * *************************************************************************/ #include "global.h" @@ -93,7 +93,7 @@ rpc_srv_dispatchCall(void *arg) ret = -6; } else if ((ret = rpc_srv_execCall(f, rpc, v)) == -1) - ret = -6; + ret = -9; else argc = rpc_srv_getValsCall(f, &vals); @@ -237,6 +237,7 @@ rpc_srv_dispatchVars(void *arg) ret = -6; break; } + printf("++++++ %p\n", b); if (rpc_srv_blobMap(s, b) != -1) { ret = rpc_srv_sendBLOB(c, b); @@ -264,6 +265,7 @@ rpc_srv_dispatchVars(void *arg) blob->hdr_cmd); ret = -7; } + cx++; makeReply: // Replay to client! @@ -280,6 +282,8 @@ makeReply: ret = -9; break; } + cx = -1; + } while (ret > -1); shutdown(c->cli_sock, SHUT_RDWR); @@ -407,6 +411,7 @@ rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv) 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); free(f); } pthread_mutex_unlock(&srv->srv_blob.mtx);