[Asterisk-code-review] pjsip distributor.c: Fix deadlock with TCP type transports. (asterisk[13])

Alexei Gradinari asteriskteam at digium.com
Thu Jun 29 15:41:47 CDT 2017


Alexei Gradinari has posted comments on this change. ( https://gerrit.asterisk.org/5919 )

Change subject: pjsip_distributor.c: Fix deadlock with TCP type transports.
......................................................................


Patch Set 1:

> > Are sure that "passing all incoming SIP messages into a new
 > master
 > > distributor serializer" can not cause bottleneck effect?
 > 
 > I'm not thrilled with this fix because of the inherent inefficiency
 > of switching the work to another thread.  However, it is the only
 > way to eliminate the deadlock.  We need to get the dialog lock to
 > acquire the associated searializer safely from the dialog.  The TCP
 > transport disables the concurrency option so it won't let go of the
 > transport lock because of some unspecified race condition in the
 > pjproject code.
 > 
 > I can only see the websocket transport using different threads to
 > call the distributor() function.  All other transports use the
 > single monitor thread created in res_pjsip.c.  So sending all the
 > packets to another thread isn't going to create a bottleneck for
 > most cases.

May be we can use pjsip_dlg_try_inc_lock and if we can't lock then pass to a new distributor serializer?


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

Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: comment
Gerrit-Change-Id: I9ed63f4da9649e9db6ed4be29c360968917a89bd
Gerrit-Change-Number: 5919
Gerrit-PatchSet: 1
Gerrit-Owner: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Jenkins2
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-Comment-Date: Thu, 29 Jun 2017 20:41:47 +0000
Gerrit-HasComments: No
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20170629/07492012/attachment.html>


More information about the asterisk-code-review mailing list