version 1.4.2.6, 2011/09/03 13:18:26
|
version 1.5.2.1, 2011/11/03 13:35:39
|
Line 47 SUCH DAMAGE.
|
Line 47 SUCH DAMAGE.
|
|
|
|
|
/* |
/* |
* rpc_srv_allocVars() Allocate array for call variables, | * rpc_srv_allocVars() Allocate array for call variables |
if already allocated memory for RPC call reallocate used space | |
* @call = RPC function call |
* @call = RPC function call |
* @varnum = Number of variables, if ==0 free previous allocated variables | * @varnum = Number of variables, if ==0 return already allocated variables number |
* return: -1 error, !=-1 return varnum value |
* return: -1 error, !=-1 return varnum value |
*/ |
*/ |
inline int |
inline int |
Line 100 rpc_srv_destroyVars(rpc_func_t * __restrict call)
|
Line 99 rpc_srv_destroyVars(rpc_func_t * __restrict call)
|
} |
} |
|
|
if (call->func_vars) { |
if (call->func_vars) { |
rpc_srv_freeVals(call); | rpc_srv_freeVars(call); |
|
|
io_arrayFree(call->func_vars); |
io_arrayFree(call->func_vars); |
io_arrayDestroy(&call->func_vars); |
io_arrayDestroy(&call->func_vars); |
Line 110 rpc_srv_destroyVars(rpc_func_t * __restrict call)
|
Line 109 rpc_srv_destroyVars(rpc_func_t * __restrict call)
|
} |
} |
|
|
/* |
/* |
* rpc_srv_freeVals() Clean values from variables of array | * rpc_srv_freeVars() Clean values from variables of array |
* @call = RPC function call |
* @call = RPC function call |
* return: -1 error, !=-1 Returned number of cleaned variables |
* return: -1 error, !=-1 Returned number of cleaned variables |
*/ |
*/ |
inline int |
inline int |
rpc_srv_freeVals(rpc_func_t * __restrict call) | rpc_srv_freeVars(rpc_func_t * __restrict call) |
{ |
{ |
register int i; |
register int i; |
|
|
Line 221 rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
|
Line 220 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 258 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 420 rpc_srv_unregisterBLOB(rpc_srv_t * __restrict srv, uin
|
Line 411 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; |
} |
} |