diff --git a/client/Android/FreeRDPCore/jni/android_jni_utils.c b/client/Android/FreeRDPCore/jni/android_jni_utils.c index 4e6357b3a..f83f74938 100644 --- a/client/Android/FreeRDPCore/jni/android_jni_utils.c +++ b/client/Android/FreeRDPCore/jni/android_jni_utils.c @@ -203,8 +203,6 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) result = init_callback_environment(vm); setlocale(LC_ALL, ""); - - freerdp_channels_global_init(); return result; } diff --git a/client/DirectFB/dfreerdp.c b/client/DirectFB/dfreerdp.c index cc621480b..df68a1d6c 100644 --- a/client/DirectFB/dfreerdp.c +++ b/client/DirectFB/dfreerdp.c @@ -441,8 +441,6 @@ int main(int argc, char* argv[]) setlocale(LC_ALL, ""); - freerdp_channels_global_init(); - g_sem = CreateSemaphore(NULL, 0, 1, NULL); instance = freerdp_new(); @@ -484,7 +482,5 @@ int main(int argc, char* argv[]) WaitForSingleObject(g_sem, INFINITE); } - freerdp_channels_global_uninit(); - return 0; } diff --git a/client/Mac/MRDPView.m b/client/Mac/MRDPView.m index fda9a8dcc..5de0da47f 100644 --- a/client/Mac/MRDPView.m +++ b/client/Mac/MRDPView.m @@ -760,8 +760,6 @@ DWORD fixKeyCode(DWORD keyCode, unichar keyChar, enum APPLE_KEYBOARD_TYPE type) return; gdi_free(context->instance); - - freerdp_channels_global_uninit(); if (pixel_data) free(pixel_data); diff --git a/client/Mac/mf_client.m b/client/Mac/mf_client.m index b9b16171f..9b22e94c8 100755 --- a/client/Mac/mf_client.m +++ b/client/Mac/mf_client.m @@ -33,12 +33,11 @@ void mfreerdp_client_global_init() { freerdp_handle_signals(); - freerdp_channels_global_init(); } void mfreerdp_client_global_uninit() { - freerdp_channels_global_uninit(); + } int mfreerdp_client_start(rdpContext* context) diff --git a/client/Sample/freerdp.c b/client/Sample/freerdp.c index 065cada69..4495bf9a9 100644 --- a/client/Sample/freerdp.c +++ b/client/Sample/freerdp.c @@ -305,8 +305,6 @@ int main(int argc, char* argv[]) rdpChannels* channels; struct thread_data* data; - freerdp_channels_global_init(); - g_sem = CreateSemaphore(NULL, 0, 1, NULL); instance = freerdp_new(); @@ -341,7 +339,5 @@ int main(int argc, char* argv[]) WaitForSingleObject(g_sem, INFINITE); } - freerdp_channels_global_uninit(); - return 0; } diff --git a/client/Windows/wf_interface.c b/client/Windows/wf_interface.c index cb942d6cd..ec7c70db2 100644 --- a/client/Windows/wf_interface.c +++ b/client/Windows/wf_interface.c @@ -1169,8 +1169,6 @@ void wfreerdp_client_global_init(void) wf_create_console(); #endif - freerdp_channels_global_init(); - freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry, 0); } diff --git a/client/X11/xf_client.c b/client/X11/xf_client.c index 7fddd874b..5cf4c6350 100644 --- a/client/X11/xf_client.c +++ b/client/X11/xf_client.c @@ -1787,12 +1787,11 @@ static void xfreerdp_client_global_init() { setlocale(LC_ALL, ""); freerdp_handle_signals(); - freerdp_channels_global_init(); } static void xfreerdp_client_global_uninit() { - freerdp_channels_global_uninit(); + } static int xfreerdp_client_start(rdpContext* context) diff --git a/client/iOS/FreeRDP/ios_freerdp.m b/client/iOS/FreeRDP/ios_freerdp.m index a6eac2ce8..fa8c75383 100644 --- a/client/iOS/FreeRDP/ios_freerdp.m +++ b/client/iOS/FreeRDP/ios_freerdp.m @@ -303,12 +303,11 @@ void ios_freerdp_free(freerdp* instance) void ios_init_freerdp() { signal(SIGPIPE, SIG_IGN); - freerdp_channels_global_init(); freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry, 0); } void ios_uninit_freerdp() { - freerdp_channels_global_uninit(); + } diff --git a/cunit/test_cliprdr.c b/cunit/test_cliprdr.c index 6b329a8fd..85fb580ef 100644 --- a/cunit/test_cliprdr.c +++ b/cunit/test_cliprdr.c @@ -31,13 +31,11 @@ int init_cliprdr_suite(void) { - freerdp_channels_global_init(); return 0; } int clean_cliprdr_suite(void) { - freerdp_channels_global_uninit(); return 0; } diff --git a/cunit/test_drdynvc.c b/cunit/test_drdynvc.c index fcbadcf22..64b5a59a2 100644 --- a/cunit/test_drdynvc.c +++ b/cunit/test_drdynvc.c @@ -31,13 +31,11 @@ int init_drdynvc_suite(void) { - freerdp_channels_global_init(); return 0; } int clean_drdynvc_suite(void) { - freerdp_channels_global_uninit(); return 0; } diff --git a/cunit/test_rail.c b/cunit/test_rail.c index 601024d5c..461701c51 100644 --- a/cunit/test_rail.c +++ b/cunit/test_rail.c @@ -46,13 +46,11 @@ int init_rail_suite(void) { - freerdp_channels_global_init(); return 0; } int clean_rail_suite(void) { - freerdp_channels_global_uninit(); return 0; } diff --git a/include/freerdp/channels/channels.h b/include/freerdp/channels/channels.h index c136411dd..60b481d17 100644 --- a/include/freerdp/channels/channels.h +++ b/include/freerdp/channels/channels.h @@ -32,8 +32,6 @@ extern "C" { #endif -FREERDP_API int freerdp_channels_global_init(void); -FREERDP_API int freerdp_channels_global_uninit(void); FREERDP_API rdpChannels* freerdp_channels_new(void); FREERDP_API void freerdp_channels_free(rdpChannels* channels); FREERDP_API int freerdp_channels_client_load(rdpChannels* channels, rdpSettings* settings, diff --git a/libfreerdp/core/client.c b/libfreerdp/core/client.c index cc13e28f8..5f4aec1e6 100644 --- a/libfreerdp/core/client.c +++ b/libfreerdp/core/client.c @@ -72,27 +72,14 @@ rdpMcsChannel* freerdp_channels_find_channel_by_name(rdpRdp* rdp, const char* na return NULL; } -/** - * this is called shortly after the application starts and - * before any other function in the file - * called only from main thread - */ -int freerdp_channels_global_init(void) -{ - return 0; -} - -int freerdp_channels_global_uninit(void) -{ - return 0; -} - rdpChannels* freerdp_channels_new(void) { rdpChannels* channels; - channels = (rdpChannels*) malloc(sizeof(rdpChannels)); - ZeroMemory(channels, sizeof(rdpChannels)); + channels = (rdpChannels*) calloc(1, sizeof(rdpChannels)); + + if (!channels) + return NULL; channels->MsgPipe = MessagePipe_New(); @@ -280,10 +267,6 @@ FREERDP_API int freerdp_channels_send_event(rdpChannels* channels, wMessage* eve switch (GetMessageClass(event->id)) { - case DebugChannel_Class: - name = "rdpdbg"; - break; - case CliprdrChannel_Class: name = "cliprdr"; break; diff --git a/libfreerdp/utils/svc_plugin.c b/libfreerdp/utils/svc_plugin.c index 578c91562..b5787438a 100644 --- a/libfreerdp/utils/svc_plugin.c +++ b/libfreerdp/utils/svc_plugin.c @@ -298,15 +298,15 @@ void svc_plugin_init(rdpSvcPlugin* plugin, CHANNEL_ENTRY_POINTS* pEntryPoints) plugin->channel_entry_points.pInterface = *(plugin->channel_entry_points.ppInterface); plugin->channel_entry_points.ppInterface = &(plugin->channel_entry_points.pInterface); plugin->started = CreateEvent(NULL,TRUE,FALSE,NULL); - plugin->pool = StreamPool_New(TRUE, 10); + plugin->pool = StreamPool_New(TRUE, 10); svc_plugin_add_init_handle_data(plugin->InitHandle, plugin); } void svc_plugin_terminate(rdpSvcPlugin* plugin) { - StreamPool_Free(plugin->pool); - CloseHandle(plugin->started); + StreamPool_Free(plugin->pool); + CloseHandle(plugin->started); } int svc_plugin_send(rdpSvcPlugin* plugin, wStream* data_out)