[asterisk-commits] file: trunk r90508 - /trunk/apps/app_dial.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Dec 3 08:14:43 CST 2007


Author: file
Date: Mon Dec  3 08:14:43 2007
New Revision: 90508

URL: http://svn.digium.com/view/asterisk?view=rev&rev=90508
Log:
Remove the file descriptors from the main poll channel when the channel is hung up during the dialing attempt, and make sure a channel exists before trying to remove it at the end.
(closes issue #11441)
Reported by: blitzrage

Modified:
    trunk/apps/app_dial.c

Modified: trunk/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_dial.c?view=diff&rev=90508&r1=90507&r2=90508
==============================================================================
--- trunk/apps/app_dial.c (original)
+++ trunk/apps/app_dial.c Mon Dec  3 08:14:43 2007
@@ -646,6 +646,9 @@
 			f = ast_read(winner);
 			if (!f) {
 				in->hangupcause = c->hangupcause;
+#ifdef HAVE_EPOLL
+				ast_poll_channel_del(in, c);
+#endif
 				ast_hangup(c);
 				c = o->chan = NULL;
 				ast_clear_flag64(o, DIAL_STILLGOING);
@@ -852,8 +855,10 @@
 	}
 	
 #ifdef HAVE_EPOLL
-	for (epollo = outgoing; epollo; epollo = epollo->next)
-		ast_poll_channel_del(in, epollo->chan);
+	for (epollo = outgoing; epollo; epollo = epollo->next) {
+		if (epollo->chan)
+			ast_poll_channel_del(in, epollo->chan);
+	}
 #endif
 
 	return peer;




More information about the asterisk-commits mailing list