<p>N A <strong>uploaded patch set #2</strong> to this change.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/19308">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">sla: Prevent deadlock and crash due to autoservicing.<br><br>SLAStation currently autoservices the station channel before<br>creating a thread to actually dial the trunk. This leads<br>to duplicate servicing of the channel which causes assertions,<br>deadlocks, crashes, and moreover not the correct behavior.<br><br>Removing the autoservice prevents the crash, but if the station<br>hangs up before the trunk answers, the call hangs since the hangup<br>was never serviced on the channel.<br><br>This is fixed by not autoservicing the channel, but instead<br>servicing it in the thread dialing the trunk, since it is doing<br>so synchronously to begin with. Instead of sleeping for 100ms<br>in a loop, we simply use the channel for timing, and abort<br>if it disappears.<br><br>The same issue also occurs with SLATrunk when a call is answered,<br>because ast_answer invokes ast_waitfor_nandfds. Thus, we use<br>ast_raw_answer instead which does not cause any conflict and allows<br>the call to be answered normally without thread blocking issues.<br><br>ASTERISK-29998 #close<br><br>Change-Id: Icc237d50354b5910000d2305901e86d2c87bb9d8<br>---<br>M apps/app_meetme.c<br>1 file changed, 48 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/08/19308/2</pre><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/19308">change 19308</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/asterisk/+/19308"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Icc237d50354b5910000d2305901e86d2c87bb9d8 </div>
<div style="display:none"> Gerrit-Change-Number: 19308 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: N A <mail@interlinked.x10host.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-MessageType: newpatchset </div>