<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi guys,<div><br></div><div>I've implemented an rpc call that closes all WS connections:</div><div><br></div><div><br></div><div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(86,156,214)">void</span> <span style="color:rgb(220,220,170)">ws_rpc_close_all</span>(<span style="color:rgb(78,201,176)">rpc_t</span> *rpc, <span style="color:rgb(86,156,214)">void</span> *ctx)</div><div>{</div><div>    <span style="color:rgb(78,201,176)">ws_connection_t</span> **list = <span style="color:rgb(86,156,214)">NULL</span>, **list_head = <span style="color:rgb(86,156,214)">NULL</span>;</div><div>    <span style="color:rgb(78,201,176)">ws_connection_t</span> *wsc = <span style="color:rgb(86,156,214)">NULL</span>;</div><div>    <span style="color:rgb(86,156,214)">int</span> ret;</div><br><div>    list_head = <span style="color:rgb(220,220,170)">wsconn_get_list</span>();</div><div>    <span style="color:rgb(197,134,192)">if</span>(!list_head)</div><div>        <span style="color:rgb(197,134,192)">return</span>;</div><br><div>    list = list_head;</div><div>    wsc = *list_head;</div><div>    <span style="color:rgb(197,134,192)">while</span>(wsc) {</div><div>        <span style="color:rgb(220,220,170)">LM_WARN</span>(<span style="color:rgb(206,145,120)">"Closing connection</span><span style="color:rgb(215,186,125)">\n</span><span style="color:rgb(206,145,120)">"</span>);</div><div>        ret = <span style="color:rgb(220,220,170)">close_connection</span>(&wsc, LOCAL_CLOSE, <span style="color:rgb(181,206,168)">1000</span>, str_status_normal_closure);</div><div>        wsc = *(++list);</div><div>    }</div><div>    <span style="color:rgb(220,220,170)">wsconn_put_list</span>(list_head);     </div><div>}</div></div></div><div><br></div><div>Please take a look. Can I call close_connection() and perform list iterations in this function not using WSCONN_LOCK?<br></div><div><br></div><div>Thanks,</div><div>Andrey</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div></div></div>