20 Nov
2018
20 Nov
'18
12:25 p.m.
Hi guys, I've implemented an rpc call that closes all WS connections: void ws_rpc_close_all(rpc_t *rpc, void *ctx) { ws_connection_t **list = NULL, **list_head = NULL; ws_connection_t *wsc = NULL; int ret; list_head = wsconn_get_list(); if(!list_head) return; list = list_head; wsc = *list_head; while(wsc) { LM_WARN("Closing connection\n"); ret = close_connection(&wsc, LOCAL_CLOSE, 1000, str_status_normal_closure); wsc = *(++list); } wsconn_put_list(list_head); } Please take a look. Can I call close_connection() and perform list iterations in this function not using WSCONN_LOCK? Thanks, Andrey