[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
Fri Feb 3 11:52:00 CST 2012


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

(Updated Feb. 3, 2012, 11:52 a.m.)


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


Changes
-------

Adds Richard's last suggested changes. Had to do a little mental gymnastics on that one.  Technically, I don't really believe it needs to have this proxy pointer to the owning channel anymore since it makes sure the owner stays the same... but I don't want to  uproot the code that's I've put in quite that much without confirming this is the right way to do things.


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/20120203/179a1d37/attachment.htm>


More information about the asterisk-dev mailing list