--- libaitrpc/src/srv.c 2010/06/28 15:18:43 1.1.1.1.2.13 +++ libaitrpc/src/srv.c 2010/07/08 07:16:36 1.1.1.1.2.16 @@ -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.16 2010/07/08 07:16:36 misho Exp $ * *************************************************************************/ #include "global.h" @@ -93,10 +93,11 @@ 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); + printf("finish func %d\n", argc); makeReply: memcpy(&rrpc.ret_session, &rpc->call_session, sizeof rrpc.ret_session); rrpc.ret_tag = rpc->call_tag; @@ -237,6 +238,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 +266,7 @@ rpc_srv_dispatchVars(void *arg) blob->hdr_cmd); ret = -7; } + cx++; makeReply: // Replay to client! @@ -280,6 +283,8 @@ makeReply: ret = -9; break; } + cx = -1; + } while (ret > -1); shutdown(c->cli_sock, SHUT_RDWR); @@ -407,6 +412,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);