[Asterisk-code-review] chan iax2: Prevent deadlock between hangup and sending lagrq... (asterisk[master])

Y Ateya asteriskteam at digium.com
Tue May 12 09:44:02 CDT 2015


Hello Richard Mudgett, George Joseph,

I'd like you to reexamine a change.  Please visit

    https://gerrit.asterisk.org/169

to look at the new patch set (#9).

Change subject: chan_iax2: Prevent deadlock between hangup and sending lagrq/ping
......................................................................

chan_iax2: Prevent deadlock between hangup and sending lagrq/ping

channels/chan_iax2.c: Prevent the deadlock between iax2_hangup and
send_lagrq/ send_ping.  This deadlock happens because the scheduled task
send_lagrq(or send_ping) starts execution after the call hangup procedure
starts but before it deletes the tasks in the scheduler.  The solution is
to delete scheduled lagrq (and ping) task asynchronously (i.e. schedule
AST_SCHED_DEL for these tasks); By this, AST_SCHED_DEL will be called
in a new context (doesn't have callno locked). Also this commit cleans up
the procedure of sending LAGRQ and PING.

ASTERISK-24983
Reported by: Y Ateya

Change-Id: I03bec1fc8faacb89630269e935fa667c6d6c080c
---
M channels/chan_iax2.c
1 file changed, 78 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/69/169/9
-- 
To view, visit https://gerrit.asterisk.org/169
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I03bec1fc8faacb89630269e935fa667c6d6c080c
Gerrit-PatchSet: 9
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Y Ateya <y.ateya at starkbits.com>
Gerrit-Reviewer: George Joseph <george.joseph at fairview5.com>
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: Y Ateya <y.ateya at starkbits.com>



More information about the asterisk-code-review mailing list