switch_yield(50000);
}
+ if (tech_pvt->SkypopenHandles.disp) {
+ NOTICA("REMOVE CLOSIN X\n", SKYPOPEN_P_LOG);
+ XCloseDisplay(tech_pvt->SkypopenHandles.disp);
+ NOTICA("REMOVE CLOSIN X END\n", SKYPOPEN_P_LOG);
+ }
+
if (globals.SKYPOPEN_INTERFACES[interface_id].skypopen_signaling_thread) {
switch_thread_join(&status, globals.SKYPOPEN_INTERFACES[interface_id].skypopen_signaling_thread);
}
x--;
switch_yield(50000);
}
+ if (tech_pvt->SkypopenHandles.disp) {
+ NOTICA("CLOSIN X\n", SKYPOPEN_P_LOG);
+ XCloseDisplay(tech_pvt->SkypopenHandles.disp);
+ NOTICA("CLOSIN X END\n", SKYPOPEN_P_LOG);
+ }
if (globals.SKYPOPEN_INTERFACES[interface_id].skypopen_signaling_thread) {
switch_thread_join(&status, globals.SKYPOPEN_INTERFACES[interface_id].skypopen_signaling_thread);
}
// CLOUDTREE (THomas Hazel) - is there a capable freeswitch list?
struct SkypopenHandles *skypopen_list_remove_by_reference(struct SkypopenList *list, struct SkypopenHandles *handle)
{
+ private_t *tech_pvt=NULL;
+
switch_mutex_lock(globals.list_mutex);
+ NOTICA("BEGIN REMOVE\n", SKYPOPEN_P_LOG);
if (handle->managed == SWITCH_FALSE) {
// already removed
switch_mutex_unlock(globals.list_mutex);
+ NOTICA("EXIT REMOVE\n", SKYPOPEN_P_LOG);
return 0;
}
list->entries--;
switch_mutex_unlock(globals.list_mutex);
+ NOTICA("EXIT REMOVE\n", SKYPOPEN_P_LOG);
return handle;
}