--- libaitrpc/src/srv.c 2013/07/16 12:35:25 1.16.2.6 +++ libaitrpc/src/srv.c 2013/08/20 23:37:43 1.17.4.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.16.2.6 2013/07/16 12:35:25 misho Exp $ +* $Id: srv.c,v 1.17.4.1 2013/08/20 23:37:43 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -74,8 +74,8 @@ rpc_freeCli(rpc_cli_t * __restrict c) schedCancelby(s->srv_root, taskMAX, CRITERIA_ARG, c, NULL); - /* free buffer */ - AIT_FREE_VAL(&c->cli_buf); + /* free buffer(s) */ + ait_freeVars(&c->cli_buf); array_Del(s->srv_clients, c->cli_id, 0); if (c) @@ -127,7 +127,13 @@ _allocClient(rpc_srv_t * __restrict srv, sockaddr_t * } /* alloc empty buffer */ - AIT_SET_BUFSIZ(&c->cli_buf, 0, srv->srv_netbuf); + c->cli_buf = ait_allocVars(1); + if (!c->cli_buf) { + rpc_SetErr(elwix_GetErrno(), "%s", elwix_GetError()); + array_Del(srv->srv_clients, n, 42); + return NULL; + } else + AIT_SET_BUFSIZ(array(c->cli_buf, 0, ait_val_t*), 0, srv->srv_netbuf); } return c; @@ -665,8 +671,6 @@ flushBLOB(sched_task_t *task) { rpc_srv_t *srv = TASK_ARG(task); rpc_blob_t *b, *tmp; - - printf("!signal 99\n"); TAILQ_FOREACH_SAFE(b, &srv->srv_blob.blobs, blob_node, tmp) { TAILQ_REMOVE(&srv->srv_blob.blobs, b, blob_node);