]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
iax
authorAnthony Minessale <anthony.minessale@gmail.com>
Mon, 11 Sep 2006 22:52:19 +0000 (22:52 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Mon, 11 Sep 2006 22:52:19 +0000 (22:52 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2644 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/iax/src/iax.c
src/mod/endpoints/mod_iax/mod_iax.c

index 9d4fa92223244d8e27cf157d10d45c5904f16500..231a8434b92d2921827aca0cd2473f7f2dce19c6 100644 (file)
@@ -904,6 +904,7 @@ int __iax_shutdown(void)
        }
        
        if (netfd > -1) {
+               shutdown(netfd, 2);
                close(netfd);
        }
 
index dccbb6931c4e8b82a1944adc0e8bce3b31e5eea5..b3b50e30bb09682bd55a944ab3fa51cd82d4f6ea 100644 (file)
@@ -75,6 +75,7 @@ static struct {
        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 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
 
        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 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_runtime(void)
                }
 
                /* 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 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_shutdown(void)
 
        running = -1;
 
+       if (globals.fd) {
+               /* Die Mutha $%#$@% Die Mutha $#%#$^ Die*/
+               shutdown(globals.fd, 2);
+       }
        iax_shutdown();
 
        while (running) {