Diff for /libaitrpc/src/lists.c between versions 1.14.2.2 and 1.14.2.3

version 1.14.2.2, 2013/07/15 15:10:38 version 1.14.2.3, 2013/07/16 12:35:25
Line 168  rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v Line 168  rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v
         return b;          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   * rpc_srv_registerBLOB() - Register new BLOB to server
  *   *
  * @srv = RPC Server instance   * @srv = RPC Server instance
  * @len = BLOB length   * @len = BLOB length
  * @tout = BLOB live timeout in seconds   * @tout = BLOB live timeout in seconds
  * @c = RPC Client  
  * return: NULL error or new registered BLOB   * return: NULL error or new registered BLOB
  */   */
 rpc_blob_t *  rpc_blob_t *
rpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_t len, int toutrpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_t len, int tout)
                rpc_cli_t * __restrict c) 
 {  {
         rpc_blob_t *blob = NULL;          rpc_blob_t *blob = NULL;
         struct timespec ts = { tout ? tout : RPC_BLOB_TIMEOUT, 0 };  
   
        if (!srv || !len || !c) {        if (!srv || !len) {
                 rpc_SetErr(EINVAL, "Invalid parameter can`t register BLOB variable");                  rpc_SetErr(EINVAL, "Invalid parameter can`t register BLOB variable");
                 return blob;                  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);          TAILQ_INSERT_TAIL(&srv->srv_blob.blobs, blob, blob_node);
   
         schedTimer(srv->srv_blob.root, toutBLOB, c, ts,   
                         (void*) (intptr_t) blob->blob_var, blob->blob_len);  
         return blob;          return blob;
 }  }
   
Line 230  rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin Line 215  rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin
                 return 0;                  return 0;
   
         TAILQ_REMOVE(&srv->srv_blob.blobs, b, blob_node);          TAILQ_REMOVE(&srv->srv_blob.blobs, b, blob_node);
   
         schedCancelby(srv->srv_blob.root, taskTIMER, CRITERIA_DATA,   
                         (void*) (intptr_t) b->blob_var, NULL);  
   
         rpc_srv_blobFree(srv, b);          rpc_srv_blobFree(srv, b);
         e_free(b);          e_free(b);

Removed from v.1.14.2.2  
changed lines
  Added in v.1.14.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>