--- libaitrpc/src/lists.c 2013/07/15 14:54:40 1.14.2.1 +++ libaitrpc/src/lists.c 2013/07/16 12:35:25 1.14.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: lists.c,v 1.14.2.1 2013/07/15 14:54:40 misho Exp $ +* $Id: lists.c,v 1.14.2.3 2013/07/16 12:35:25 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -168,43 +168,28 @@ rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v return b; } -static void * -toutBLOB(sched_task_t *task) -{ - rpc_cli_t *c = TASK_ARG(task); - - rpc_srv_unregisterBLOB((rpc_srv_t*) c->cli_parent, (uint32_t) TASK_DATA(task)); - - return NULL; -} - /* * rpc_srv_registerBLOB() - Register new BLOB to server * * @srv = RPC Server instance * @len = BLOB length * @tout = BLOB live timeout in seconds - * @task = task called this function * return: NULL error or new registered BLOB */ rpc_blob_t * -rpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_t len, int tout, - sched_task_t * __restrict task) +rpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_t len, int tout) { rpc_blob_t *blob = NULL; - struct timespec ts = { tout ? tout : RPC_BLOB_TIMEOUT, 0 }; if (!srv || !len) { rpc_SetErr(EINVAL, "Invalid parameter can`t register BLOB variable"); return blob; } - blob = rpc_srv_blobCreate(srv, len); + blob = rpc_srv_blobCreate(srv, len, tout); TAILQ_INSERT_TAIL(&srv->srv_blob.blobs, blob, blob_node); - schedTimer(TASK_ROOT(task), toutBLOB, TASK_ARG(task), ts, - (void*) (intptr_t) blob->blob_var, blob->blob_len); return blob; }