]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
skypiax: tweakings for windows, still don't know how to make the API thread to die...
authorGiovanni Maruzzelli <gmaruzz@gmail.com>
Thu, 25 Feb 2010 12:43:06 +0000 (12:43 +0000)
committerGiovanni Maruzzelli <gmaruzz@gmail.com>
Thu, 25 Feb 2010 12:43:06 +0000 (12:43 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16812 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_skypiax/mod_skypiax.c
src/mod/endpoints/mod_skypiax/skypiax_protocol.c

index a3ecbc585fc56011510f7f7dfc724c1c52ccf17d..95fbc9dc668a9193686f752531a5b7628f7d1013 100644 (file)
@@ -1203,6 +1203,7 @@ static void *SWITCH_THREAD_FUNC skypiax_signaling_thread_func(switch_thread_t *
                        }
                }
        }
+       DEBUGA_SKYPE("EXITING\n", SKYPIAX_P_LOG);
        return NULL;
 }
 
@@ -1511,7 +1512,7 @@ static switch_status_t load_config(int reload_type)
                                switch_sleep(100000);
 
                                switch_threadattr_create(&skypiax_signaling_thread_attr, skypiax_module_pool);
-                               switch_threadattr_detach_set(skypiax_signaling_thread_attr, 1);
+                               switch_threadattr_detach_set(skypiax_signaling_thread_attr, 0);
                                switch_threadattr_stacksize_set(skypiax_signaling_thread_attr, SWITCH_THREAD_STACKSIZE);
                                switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id].
                                                                         skypiax_signaling_thread, skypiax_signaling_thread_attr,
@@ -1565,6 +1566,10 @@ static switch_status_t load_config(int reload_type)
                                        skypiax_signaling_write(&globals.SKYPIAX_INTERFACES[interface_id], "SET USERSTATUS ONLINE");
                                        switch_sleep(10000);
                                        if(globals.SKYPIAX_INTERFACES[interface_id].silent_mode){
+                                               skypiax_signaling_write(&globals.SKYPIAX_INTERFACES[interface_id], "SET SILENT_MODE ON");
+                                               switch_sleep(10000);
+                                               skypiax_signaling_write(&globals.SKYPIAX_INTERFACES[interface_id], "SET SILENT_MODE OFF");
+                                               switch_sleep(10000);
                                                skypiax_signaling_write(&globals.SKYPIAX_INTERFACES[interface_id], "SET SILENT_MODE ON");
                                                switch_sleep(10000);
                                                }
@@ -1773,7 +1778,7 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown)
 {
        int x;
        private_t *tech_pvt = NULL;
-       switch_status_t status;
+       switch_status_t status = SWITCH_STATUS_SUCCESS;
        unsigned int howmany = 8;
        int interface_id;
 
@@ -1822,9 +1827,13 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown)
                        if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) {
                                switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread);
                        }
+                       if(status != SWITCH_STATUS_SUCCESS)
+                               DEBUGA_SKYPE("got FALSE here, thread was not joined\n", SKYPIAX_P_LOG);
                        if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread) {
                                switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread);
                        }
+                       if(status != SWITCH_STATUS_SUCCESS)
+                               DEBUGA_SKYPE("got FALSE here, thread was not joined\n", SKYPIAX_P_LOG);
 #ifndef WIN32
                        WARNINGA("SHUTDOWN interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
                        shutdown(tech_pvt->audiopipe_cli[0], 2);
index 2c9002f7958c008d8996b1c461c9dcf14586b7a5..cba6465e0d2de4d4065d91ca4e8cca0be8e4a98e 100644 (file)
@@ -1506,7 +1506,7 @@ void *skypiax_do_skypeapi_thread_func(void *obj)
                        win32_DeInitialize_DestroyWindowClass(tech_pvt);
                }
        }
-
+       DEBUGA_SKYPE("EXITING\n", SKYPIAX_P_LOG);
        return NULL;
 }