Revision
16812
Author
gmaruzz
Date
2010-02-25 06:43:06 -0600 (Thu, 25 Feb 2010)

Log Message

skypiax: tweakings for windows, still don't know how to make the API thread to die on windows at module unload

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c (16811 => 16812)


--- freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c	2010-02-25 11:51:43 UTC (rev 16811)
+++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/mod_skypiax.c	2010-02-25 12:43:06 UTC (rev 16812)
@@ -1203,6 +1203,7 @@
 			}
 		}
 	}
+	DEBUGA_SKYPE("EXITING\n", SKYPIAX_P_LOG);
 	return NULL;
 }
 
@@ -1511,7 +1512,7 @@
 				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,
@@ -1567,6 +1568,10 @@
 					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);
 						}
 				} else {
 					ERRORA
@@ -1773,7 +1778,7 @@
 {
 	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 @@
 			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);

Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (16811 => 16812)


--- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c	2010-02-25 11:51:43 UTC (rev 16811)
+++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c	2010-02-25 12:43:06 UTC (rev 16812)
@@ -1506,7 +1506,7 @@
 			win32_DeInitialize_DestroyWindowClass(tech_pvt);
 		}
 	}
-
+	DEBUGA_SKYPE("EXITING\n", SKYPIAX_P_LOG);
 	return NULL;
 }