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

Richard Mudgett asteriskteam at digium.com
Thu Jun 29 16:07:28 CDT 2017


Richard Mudgett 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: Code-Review-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?

That will guarantee out of order processing of messages.  I've thought of another way to fix the problem.


-- 
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 21:07:28 +0000
Gerrit-HasComments: No
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20170629/13017835/attachment.html>


More information about the asterisk-code-review mailing list