[asterisk-dev] [Code Review] Fix a deadlock in agents occuring due to trying to lock a channel while having a lock on the pvt.

jrose reviewboard at asterisk.org
Wed Feb 1 17:02:22 CST 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1708/
-----------------------------------------------------------

(Updated Feb. 1, 2012, 5:02 p.m.)


Review request for Asterisk Developers, Mark Michelson, rmudgett, and Matt Jordan.


Changes
-------

Still need to figure out how to address potential deadlock from list iteration in hangup and what to do with that ast_read call Richard was saying might cause a deadlock. Neither of them are actually tied to the issue I was working to resolve I think, but deadlocks are bad mmmmmmmmkay.


Summary
-------

Also adds locking to a number of other functions which are calling ast_bridged_channel (which is documented as requiring a lock for safe running, which was the purpose of irroot's original locking patch in action_agents.

Unlike the other patch on reviewboard right now, this opts to enforce locking order instead of using deadlock avoidance.

Celebrity endorsement: "This looks incredibly sane to me." - MMichelson


This addresses bug ASTERISK-19285.
    https://issues.asterisk.org/jira/browse/ASTERISK-19285


Diffs (updated)
-----

  /branches/1.8/channels/chan_agent.c 353685 

Diff: https://reviewboard.asterisk.org/r/1708/diff


Testing
-------

Not much I'm afraid to say. I can't reproduce the issue since it involves real world use over a period of time.  I'll ask Alex Villacís Lasso to give it a shot though.


Thanks,

jrose

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120201/4aa6c1a0/attachment.htm>


More information about the asterisk-dev mailing list