--- libaitrpc/src/srv.c 2010/06/23 16:23:31 1.1.1.1.2.6 +++ libaitrpc/src/srv.c 2010/06/23 16:44:24 1.1.1.1.2.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.1.1.1.2.6 2010/06/23 16:23:31 misho Exp $ +* $Id: srv.c,v 1.1.1.1.2.7 2010/06/23 16:44:24 misho Exp $ * *************************************************************************/ #include "global.h" @@ -254,10 +254,23 @@ rpc_srv_dispatchVars(void *arg) default: rpc_SetErr(EINVAL, "Error:: unsupported BLOB command (%d)...\n", blob->hdr_cmd); - ret -7; + ret = -7; } // Replay to client! + blob->hdr_cmd = ret < 0 ? error : ok; + blob->hdr_seq = ret; + if ((ret = send(c->cli_sock, buf, sizeof buf, 0)) == -1) { + LOGERR; + ret = -8; + break; + } + if (ret != sizeof buf) { + rpc_SetErr(EBADMSG, "Error:: in send BLOB reply, should be send %d bytes, " + "really is %d\n", sizeof buf, ret); + ret = -9; + break; + } } while (ret > -1); shutdown(c->cli_sock, SHUT_RDWR);