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

Y Ateya asteriskteam at digium.com
Sun May 17 01:26:00 CDT 2015


Y Ateya has posted comments on this change.

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


Patch Set 11:

(2 comments)

https://gerrit.asterisk.org/#/c/169/11/channels/chan_iax2.c
File channels/chan_iax2.c:

Line 1706: 	/* Mark pingid as invalid scheduler id. */
         : 	iaxs[callno]->pingid = -1;
> I've been going back and forth on setting pingid to -1 in send_ping() and i
I changed AST_SCHED_DEL in make_trunk to iax2_delete_from_sched; This should prevent deadlock between make_trunk and ping.
Note that make_trunk set iaxs[callno] = NULL, so if send_ping fired before it task is really removed, iax2_lock_callno_unless_destroyed will prevent sending this ping.


Line 2076: 	if (ast_sched_find_data(sched, sched_id)) {
> This check can fail if callno is zero.  A simple way around the problem is 
I didn't understand this. Could you please explain it more?


-- 
To view, visit https://gerrit.asterisk.org/169
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I03bec1fc8faacb89630269e935fa667c6d6c080c
Gerrit-PatchSet: 11
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Y Ateya <y.ateya at starkbits.com>
Gerrit-Reviewer: Ashley Sanders <asanders at digium.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>
Gerrit-HasComments: Yes



More information about the asterisk-code-review mailing list