[asterisk-dev] [Code Review] Fix deadlock when using originate from agent

Jeff Peeler jpeeler at digium.com
Wed Nov 12 17:58:13 CST 2008


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/35/
-----------------------------------------------------------

(Updated 2008-11-12 17:58:12.958966)


Review request for Asterisk Developers.


Changes
-------

Remove unnecessary locking and correctly mimic old trylock behavior.


Summary
-------

This changes the behavior of __login_exec to use a pthread condition to wait rather than just waiting for a lock. Using a pthread condition frees the restraint of requiring the same thread to let execution continue (by unlocking the lock), which is important as originate uses multiple threads.


This addresses bug 12269.
    http://bugs.digium.com/view.php?id=12269


Diffs (updated)
-----

  branches/1.4/channels/chan_agent.c 156442 

Diff: http://reviewboard.digium.com/r/35/diff


Testing
-------

Testing done both here and by reporters show the problem is resolved, but I wanted to make sure I'm not missing anything as changing locking can be tricky.


Thanks,

Jeff




More information about the asterisk-dev mailing list