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

version 1.14, 2013/05/30 09:22:02 version 1.14.2.2, 2013/07/15 15:10:38
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
    * @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)rpc_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) {        if (!srv || !len || !c) {
                 rpc_SetErr(EINVAL, "Invalid parameter can`t register BLOB variable");                  rpc_SetErr(EINVAL, "Invalid parameter can`t register BLOB variable");
                 return blob;                  return blob;
         }          }
Line 188  rpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_ Line 202  rpc_srv_registerBLOB(rpc_srv_t * __restrict srv, size_
         blob = rpc_srv_blobCreate(srv, len);          blob = rpc_srv_blobCreate(srv, len);
   
         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 213  rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin Line 230  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  
changed lines
  Added in v.1.14.2.2


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