[svn-commits] russell: tag 1.4.19.2 r115647 - /tags/1.4.19.2/channels/chan_iax2.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon May 12 10:08:42 CDT 2008


Author: russell
Date: Mon May 12 10:08:41 2008
New Revision: 115647

URL: http://svn.digium.com/view/asterisk?view=rev&rev=115647
Log:
Merge rev 115565 from 1.4

Modified:
    tags/1.4.19.2/channels/chan_iax2.c

Modified: tags/1.4.19.2/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/tags/1.4.19.2/channels/chan_iax2.c?view=diff&rev=115647&r1=115646&r2=115647
==============================================================================
--- tags/1.4.19.2/channels/chan_iax2.c (original)
+++ tags/1.4.19.2/channels/chan_iax2.c Mon May 12 10:08:41 2008
@@ -3615,6 +3615,24 @@
 
 	ast_mutex_lock(&iaxsl[callno]);
 	pvt = iaxs[callno];
+
+	if (!pvt->peercallno) {
+		/* We don't know the remote side's call number, yet.  :( */
+		int count = 10;
+		while (count-- && pvt && !pvt->peercallno) {
+			ast_mutex_unlock(&iaxsl[callno]);
+			usleep(1);
+			ast_mutex_lock(&iaxsl[callno]);
+			pvt = iaxs[callno];
+		}
+		if (pvt->peercallno) {
+			ast_log(LOG_NOTICE, "Yay, we didn't know the peercallno, but we were patient and got it.\n");
+		} else {
+			ast_log(LOG_NOTICE, "Damnit!  We waited around and never got the peercallno ...\n");
+			res = -1;
+			goto done;
+		}
+	}
 
 	switch (condition) {
 	case AST_CONTROL_HOLD:




More information about the svn-commits mailing list