-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4034/
-----------------------------------------------------------
(Updated Sept. 30, 2014, 2:24 p.m.)
Review request for Asterisk Developers.
Changes
-------
Addressed mmichelson's comments.
Bugs: ASTERISK-24356
https://issues.asterisk.org/jira/browse/ASTERISK-24356
Repository: Asterisk
Description
-------
Performing a directed call pickup resulted in a deadlock when PJSIP channels
were involved.
A masquerade needs to hold onto the channel locks while it swaps channel
information between
the two channels involved in the masquerade. With PJSIP channels, the fixup
routine needed
to push a fixup task onto the PJSIP channel's serializer. Unfortunately, if
the serializer
was also processing a task that needed to lock the channel, you get deadlock.
* Added a new control frame that is used to notify the channels that a
masquerade is about to start and when it has completed.
* Added the ability to query supported taskprocessors if the current thread is
the
taskprocessor thread.
* Added the ability to suspend/unsuspend the PJSIP serializer thread so a
masquerade could
fixup the PJSIP channel without using the serializer.
Diffs (updated)
-----
/branches/13/res/res_pjsip_session.exports.in 424175
/branches/13/res/res_pjsip_session.c 424175
/branches/13/main/taskprocessor.c 424175
/branches/13/main/core_unreal.c 424175
/branches/13/main/channel.c 424175
/branches/13/main/bridge_channel.c 424175
/branches/13/include/asterisk/taskprocessor.h 424175
/branches/13/include/asterisk/res_pjsip_session.h 424175
/branches/13/include/asterisk/frame.h 424175
/branches/13/funcs/func_frame_trace.c 424175
/branches/13/channels/chan_unistim.c 424175
/branches/13/channels/chan_skinny.c 424175
/branches/13/channels/chan_sip.c 424175
/branches/13/channels/chan_pjsip.c 424175
/branches/13/channels/chan_motif.c 424175
/branches/13/channels/chan_misdn.c 424175
/branches/13/channels/chan_iax2.c 424175
/branches/13/addons/chan_ooh323.c 424175
Diff: https://reviewboard.asterisk.org/r/4034/diff/
Testing
-------
* Performed several directed call pickups without deadlocking. Before the
patch, the system would usually deadlock.
* Performed a SIP attended transfer to an appliction. The transfer still works.
Thanks,
rmudgett
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev