Skip to content
Snippets Groups Projects
  • Russell Bryant's avatar
    604b819b
    Add a locking section to the coding guidelines document. · 604b819b
    Russell Bryant authored
    This section covers some locking fundamentals, as well as some information on
    locking as it is used in Asterisk.  It describes some of the ways that are used
    and could be used to achieve deadlock avoidance.  It also demonstrates the
    unfortunate conclusion that with the use of recursive locks, none of the
    constructs in use today are failsafe from deadlocks.  Finally, it makes some
    recommendations for new code being written.  As proper locking strategies is a
    complex subject, this section still has room for expansion and improvement.
    
    This is a result of collaboration between Luigi Rizzo and myself on the 
    asterisk-dev mailing list.
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
    604b819b
    History
    Add a locking section to the coding guidelines document.
    Russell Bryant authored
    This section covers some locking fundamentals, as well as some information on
    locking as it is used in Asterisk.  It describes some of the ways that are used
    and could be used to achieve deadlock avoidance.  It also demonstrates the
    unfortunate conclusion that with the use of recursive locks, none of the
    constructs in use today are failsafe from deadlocks.  Finally, it makes some
    recommendations for new code being written.  As proper locking strategies is a
    complex subject, this section still has room for expansion and improvement.
    
    This is a result of collaboration between Luigi Rizzo and myself on the 
    asterisk-dev mailing list.
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127363 65c4cc65-6c06-0410-ace0-fbb531ad65f3