--- libaitrpc/src/srv.c 2024/02/26 16:56:22 1.30.2.7 +++ libaitrpc/src/srv.c 2024/02/26 17:52:41 1.30.2.8 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.30.2.7 2024/02/26 16:56:22 misho Exp $ +* $Id: srv.c,v 1.30.2.8 2024/02/26 17:52:41 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -87,7 +87,8 @@ rpc_freeCli(rpc_cli_t * __restrict c) { rpc_srv_t *s = c->cli_parent; - schedCancelby(s->srv_root, taskMAX, CRITERIA_ARG, c, NULL); + if (s->srv_proto == SOCK_STREAM) + schedCancelby(s->srv_root, taskMAX, CRITERIA_ARG, c, NULL); /* free buffer */ AIT_FREE_VAL(&c->cli_buf); @@ -311,7 +312,7 @@ rpc_srv_Return(sched_root_task_t *root, rpc_cli_t *c) if (!RPC_CHK_NOREPLY(rpc)) { rpc->call_argc = (u_char) array_Size(RPC_RETVARS(c)); - schedWrite(root, cbProto[s->srv_proto][CB_TXPACKET], c, c->cli_sock, NULL, 0); + schedWrite(root, cbProto[s->srv_proto][CB_TXPACKET], c, c->cli_sock, rpc, 0); } return rpc->call_argc;