Hi,<br><br>I'm trying to figure out how it works without a deadlock...<br><br>The zt_fixup function do a mutex_lock using p-&gt;lock handler. (ast_mutex_lock(&amp;p-&gt;lock);)<br><br>Within the mutex block, the zt_indicate function can be called:
<br><br>&nbsp;&nbsp;&nbsp; if (newchan-&gt;_state == AST_STATE_RINGING) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zt_indicate(newchan, AST_CONTROL_RINGING);<br><br>But, within zt_indicate function, the ast_mutex_lock(&amp;p-&gt;lock); is called again.<br><br>Is this correct?
<br><br><br>Thanks in advance<br><br>Paulo<br><br><br><br>