Skip to content
Snippets Groups Projects
Commit a5c65bb9 authored by Richard Mudgett's avatar Richard Mudgett
Browse files

Merged revisions 329331 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/10

................
  r329331 | rmudgett | 2011-07-22 15:43:07 -0500 (Fri, 22 Jul 2011) | 55 lines
  
  Merged revisions 329299 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r329299 | rmudgett | 2011-07-22 10:44:58 -0500 (Fri, 22 Jul 2011) | 48 lines
    
    Deadlocks dealing with dialplan hints during reload.
    
    There are two remaining different deadlocks reported dealing with dialplan
    hints.
    
    The deadlock in ASTERISK-17666 is caused by invalid locking order in
    ast_remove_hint().  The hints container must be locked before the hint
    object.
    
    The deadlock in ASTERISK-17760 is caused by a catch-22 situation in
    handle_statechange().  The deadlock is caused by not having the conlock
    before calling the watcher callbacks.  Unfortunately, having that lock
    causes a different deadlock as reported in ASTERISK-16961.
    
    * Fixed ast_remove_hint() locking order.
    
    * Made handle_statechange() no longer call the watcher callbacks holding
    any locks that matter.
    
    * Made hint ao2 destructor do the watcher callbacks for extension
    deactivation to guarantee that they get called.
    
    * Fixed hint reference leak in ast_add_hint() if the callback container
    constructor failed.
    
    * Fixed hint reference leak in complete_core_show_hint() for every hint it
    found for CLI tab completion.
    
    * Adjusted locking in ast_merge_contexts_and_delete() for safety.
    
    * Added context_merge_lock to prevent ast_merge_contexts_and_delete() and
    handle_statechange() from interfering with each other.
    
    * Fixed ast_change_hint() not taking into account that the extension is
    used for the hash key.
    
    (closes issue ASTERISK-17666)
    Reported by: irroot
    Tested by: irroot
    JIRA SWP-3318
    
    (closes issue ASTERISK-17760)
    Reported by: Byron Clark
    Tested by: irroot
    JIRA SWP-3393
    
    Review: https://reviewboard.asterisk.org/r/1313/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent f243d129
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment