version 1.4.2.4, 2011/09/01 14:28:41
|
version 1.4.2.8, 2011/09/07 01:19:19
|
Line 221 rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
|
Line 221 rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
|
func->func_next = srv->srv_funcs; |
func->func_next = srv->srv_funcs; |
srv->srv_funcs = func; |
srv->srv_funcs = func; |
pthread_mutex_unlock(&srv->srv_mtx); |
pthread_mutex_unlock(&srv->srv_mtx); |
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<func(%s)=%p\n", func->func_name, func); |
|
return 0; |
return 0; |
} |
} |
|
|
Line 260 rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
|
Line 259 rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
|
if (!f) /* not found element for unregister */ |
if (!f) /* not found element for unregister */ |
return 0; |
return 0; |
|
|
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>func(%s)=%p\n", f->func_name, f); | if (srv->srv_funcs == f) /* if is 1st element */ |
if (srv->srv_funcs == f) { /* if is 1st element */ | |
srv->srv_funcs = srv->srv_funcs->func_next; |
srv->srv_funcs = srv->srv_funcs->func_next; |
| else { |
rpc_srv_destroyVars(f); | |
free(f); | |
f = NULL; | |
} else { | |
for (curr = srv->srv_funcs; curr->func_next != f; curr = curr->func_next); |
for (curr = srv->srv_funcs; curr->func_next != f; curr = curr->func_next); |
curr->func_next = curr->func_next->func_next; |
curr->func_next = curr->func_next->func_next; |
|
|
rpc_srv_destroyVars(f); |
|
free(f); |
|
f = NULL; |
|
} |
} |
|
rpc_srv_destroyVars(f); |
|
free(f); |
pthread_mutex_unlock(&srv->srv_mtx); |
pthread_mutex_unlock(&srv->srv_mtx); |
|
|
return 1; |
return 1; |
Line 355 rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v
|
Line 347 rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t v
|
return NULL; |
return NULL; |
} |
} |
|
|
pthread_mutex_lock(&srv->srv_blob.mtx); |
|
for (b = srv->srv_blob.blobs; b; b = b->blob_next) { |
for (b = srv->srv_blob.blobs; b; b = b->blob_next) { |
if (b->blob_var == var) |
if (b->blob_var == var) |
break; |
break; |
} |
} |
pthread_mutex_unlock(&srv->srv_blob.mtx); |
|
|
|
return b; |
return b; |
} |
} |
Line 411 rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin
|
Line 401 rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin
|
b = rpc_srv_getBLOB(srv, var); |
b = rpc_srv_getBLOB(srv, var); |
if (!b) /* not found element for unregister */ |
if (!b) /* not found element for unregister */ |
return 0; |
return 0; |
|
/* if BLOB is unmapped force to unmap object */ |
|
if (b->blob_data) |
|
rpc_srv_blobUnmap(b); |
|
|
pthread_mutex_lock(&srv->srv_blob.mtx); |
pthread_mutex_lock(&srv->srv_blob.mtx); |
if (srv->srv_blob.blobs == b) { /* if is 1st element */ |
if (srv->srv_blob.blobs == b) { /* if is 1st element */ |
Line 419 rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin
|
Line 412 rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin
|
for (curr = srv->srv_blob.blobs; curr->blob_next != b; curr = curr->blob_next); |
for (curr = srv->srv_blob.blobs; curr->blob_next != b; curr = curr->blob_next); |
curr->blob_next = curr->blob_next->blob_next; |
curr->blob_next = curr->blob_next->blob_next; |
} |
} |
|
pthread_mutex_unlock(&srv->srv_blob.mtx); |
rpc_srv_blobFree(srv, b); |
rpc_srv_blobFree(srv, b); |
free(b); |
free(b); |
pthread_mutex_unlock(&srv->srv_blob.mtx); |
|
|
|
return 1; |
return 1; |
} |
} |