[asterisk-dev] [Code Review] Asterisk 1.8 Deadlock in app_queue

Matthew Nicholson reviewboard at asterisk.org
Mon Sep 12 09:45:59 CDT 2011


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



/branches/1.8/apps/app_queue.c
<https://reviewboard.asterisk.org/r/1402/#comment8384>

    This appears to be an unintended modification.


By removing the queues lock, it is now possible for the container to change while we iterate. The ao2_iterators appear to account for changes to the container while iteration is talking place, but please make sure that this new behavior won't cause any unintended side effects. Beyond that, this looks good.

- Matthew


On Sept. 10, 2011, 2:43 p.m., irroot wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1402/
> -----------------------------------------------------------
> 
> (Updated Sept. 10, 2011, 2:43 p.m.)
> 
> 
> Review request for Asterisk Developers and Matthew Nicholson.
> 
> 
> Summary
> -------
> 
> Locking order with queues container.
> 
> 1)the queues container is locked when calling channels this causes a deadlock and is unneeded.
> 2)lock the queues container when running queue_update to maintain correct locking order.
> 
> 
> This addresses bug ASTERISK-18101.
>     https://issues.asterisk.org/jira/browse/ASTERISK-18101
> 
> 
> Diffs
> -----
> 
>   /branches/1.8/apps/app_queue.c 335124 
> 
> Diff: https://reviewboard.asterisk.org/r/1402/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> irroot
> 
>

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


More information about the asterisk-dev mailing list