version 1.7, 2012/03/15 01:55:33
|
version 1.8.2.1, 2012/05/11 08:46:41
|
Line 136 rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
|
Line 136 rpc_srv_registerCall(rpc_srv_t * __restrict srv, const
|
} |
} |
|
|
/* add to list of functions */ |
/* add to list of functions */ |
pthread_mutex_lock(&srv->srv_mtx); |
|
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); |
|
return 0; |
return 0; |
} |
} |
|
|
Line 169 rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
|
Line 167 rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
|
f = rpc_srv_getCall(srv, func.func_tag, func.func_hash); |
f = rpc_srv_getCall(srv, func.func_tag, func.func_hash); |
AIT_FREE_VAL(&func.func_name); |
AIT_FREE_VAL(&func.func_name); |
AIT_FREE_VAL(&func.func_file); |
AIT_FREE_VAL(&func.func_file); |
if (!f) /* not found element for unregister */ | if (!f) /* not found element for unregister */ |
return 0; |
return 0; |
|
|
pthread_mutex_lock(&srv->srv_mtx); |
|
/* remove from list of functions */ |
/* remove from list of functions */ |
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; |
Line 184 rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
|
Line 181 rpc_srv_unregisterCall(rpc_srv_t * __restrict srv, con
|
AIT_FREE_VAL(&f->func_name); |
AIT_FREE_VAL(&f->func_name); |
AIT_FREE_VAL(&f->func_file); |
AIT_FREE_VAL(&f->func_file); |
free(f); |
free(f); |
pthread_mutex_unlock(&srv->srv_mtx); |
|
|
|
return 1; |
return 1; |
} |
} |