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

Merged revisions 206706 via svnmerge from

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

................
  r206706 | rmudgett | 2009-07-15 15:44:55 -0500 (Wed, 15 Jul 2009) | 26 lines
  
  Merged revision 206700 from
  https://origsvn.digium.com/svn/asterisk/be/branches/C.2-...
  
  ..........
    Fixed chan_misdn crash because mISDNuser library is not thread safe.
  
    With Asterisk the mISDNuser library is driven by two threads concurrently:
    1. channels/misdn/isdn_lib.c::manager_event_handler()
    2. channels/misdn/isdn_lib.c::misdn_lib_isdn_event_catcher()
  
    Calls into the library are done concurrently and recursively from
    isdn_lib.c.
  
    Both threads can fiddle with the master/child layer3_proc_t lists.  One
    thread may traverse the list when the other interrupts it and then removes
    the list element which the first thread was currently handling.  This is
    exactly what caused the crash.  About 60 calls were needed to a Gigaset
    CX475 before it occurred once.
  
    This patch adds locking when calling into the mISDNuser library.
    This also fixes some cb_log calls with wrong port parameter.
  
    JIRA ABE-1913
        Patches: misdn-locking.patch (Modified with mostly cosmetic changes)
  ..........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@206707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 3402f34e
No related branches found
No related tags found
Loading
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