[Freeswitch-svn] [commit] r2644 - in freeswitch/trunk: libs/iax/src src/mod/endpoints/mod_iax

Freeswitch SVN anthm at freeswitch.org
Mon Sep 11 18:52:19 EDT 2006


Author: anthm
Date: Mon Sep 11 18:52:19 2006
New Revision: 2644

Modified:
   freeswitch/trunk/libs/iax/src/iax.c
   freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c

Log:
iax

Modified: freeswitch/trunk/libs/iax/src/iax.c
==============================================================================
--- freeswitch/trunk/libs/iax/src/iax.c	(original)
+++ freeswitch/trunk/libs/iax/src/iax.c	Mon Sep 11 18:52:19 2006
@@ -904,6 +904,7 @@
 	}
 	
 	if (netfd > -1) {
+		shutdown(netfd, 2);
 		close(netfd);
 	}
 

Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c	Mon Sep 11 18:52:19 2006
@@ -75,6 +75,7 @@
 	char *codec_rates[SWITCH_MAX_CODECS];
 	int codec_rates_last;
 	unsigned int flags;
+	switch_port_t fd;
 } globals;
 
 struct private_object {
@@ -916,7 +917,7 @@
 
 	iax_set_error(iax_err_cb);
 	iax_set_output(iax_out_cb);
-	//netfd = iax_get_fd();
+	globals.fd = iax_get_fd();
 
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "IAX Ready Port %d\n", globals.port);
 
@@ -933,9 +934,10 @@
 		}
 
 		/* Wait for an event. */
-		if ((iaxevent = iax_get_event(0)) == NULL) {
-			switch_yield(100);
-			continue;
+		if ((iaxevent = iax_get_event(-1)) == NULL) {
+			//switch_yield(100);
+			//continue;
+			break;
 		} else {
 			struct private_object *tech_pvt = iax_get_private(iaxevent->session);
 
@@ -1160,6 +1162,10 @@
 
 	running = -1;
 
+	if (globals.fd) {
+		/* Die Mutha $%#$@% Die Mutha $#%#$^ Die*/
+		shutdown(globals.fd, 2);
+	}
 	iax_shutdown();
 
 	while (running) {



More information about the Freeswitch-svn mailing list