--- libaitrpc/src/srv.c 2013/05/30 09:22:02 1.16 +++ libaitrpc/src/srv.c 2013/07/15 14:54:40 1.16.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.16 2013/05/30 09:22:02 misho Exp $ +* $Id: srv.c,v 1.16.2.3 2013/07/15 14:54:40 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -628,7 +628,8 @@ rxBLOB(sched_task_t *task) } break; case set: - if ((b = rpc_srv_registerBLOB(s, ntohl(blob.hdr_len)))) { + if ((b = rpc_srv_registerBLOB(s, ntohl(blob.hdr_len), + ntohl(blob.hdr_ret), task))) { /* set new BLOB variable for reply :) */ blob.hdr_var = htonl(b->blob_var); @@ -645,6 +646,9 @@ rxBLOB(sched_task_t *task) blob.hdr_cmd = error; blob.hdr_ret = RPC_ERROR(-1); } + + schedCancelby(TASK_ROOT(task), taskTIMER, CRITERIA_DATA, + (void*) (intptr_t) ntohl(blob.hdr_var), NULL); break; default: rpc_SetErr(EPROCUNAVAIL, "Unsupported BLOB command %d", blob.hdr_cmd);