Merged revisions 127133 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Tue, 1 Jul 2008 20:28:54 +0000 (20:28 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Tue, 1 Jul 2008 20:28:54 +0000 (20:28 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r127133 | tilghman | 2008-07-01 15:25:37 -0500 (Tue, 01 Jul 2008) | 2 lines

Disable the old, slow search for matching callno in chan_iax2 (but allow it to be reenabled for debugging)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127143 65c4cc65-6c06-0410-ace0-fbb531ad65f3

build_tools/cflags.xml
channels/chan_iax2.c

index 4a26bd0..21f9abc 100644 (file)
@@ -42,4 +42,6 @@
                <member name="BUSYDETECT_DEBUG" displayname="Enable additional busy detection debugging">
                        <defaultenabled>no</defaultenabled>
                </member>
+               <member name="IAX_OLD_FIND" displayname="Use the old, slow method of searching for IAX callnos">
+               </member>
        </category>
index e78a8b6..f16c66c 100644 (file)
@@ -1657,6 +1657,18 @@ static int __find_callno(unsigned short callno, unsigned short dcallno, struct s
                        return res;
                }
 
+#ifdef IAX_OLD_FIND
+               /* If we get here, we SHOULD NOT find a call structure for this
+                  callno; if we do, it means that there is a call structure that
+                  has a peer callno but did NOT get entered into the hash table,
+                  which is bad.
+
+                  If we find a call structure using this old, slow method, output a log
+                  message so we'll know about it. After a few months of leaving this in
+                  place, if we don't hear about people seeing these messages, we can
+                  remove this code for good.
+               */
+
                for (x = 1; !res && x < maxnontrunkcall; x++) {
                        ast_mutex_lock(&iaxsl[x]);
                        if (iaxs[x]) {
@@ -1679,6 +1691,7 @@ static int __find_callno(unsigned short callno, unsigned short dcallno, struct s
                        if (!res || !return_locked)
                                ast_mutex_unlock(&iaxsl[x]);
                }
+#endif
        }
        if (!res && (new >= NEW_ALLOW)) {
                int start, found = 0;