From dbbb34109824d9a9d8b3f4648183ce364e5aa0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Thu, 21 Mar 2013 17:58:18 -0400 Subject: [PATCH] libfreerdp-utils: purge thread utils --- channels/serial/client/serial_tty.c | 1 - .../smartcard/client/smartcard_operations.c | 7 +- include/freerdp/utils/thread.h | 69 ------------- libfreerdp/utils/CMakeLists.txt | 1 - libfreerdp/utils/thread.c | 99 ------------------- server/X11/xf_peer.c | 1 - 6 files changed, 3 insertions(+), 175 deletions(-) delete mode 100644 include/freerdp/utils/thread.h delete mode 100644 libfreerdp/utils/thread.c diff --git a/channels/serial/client/serial_tty.c b/channels/serial/client/serial_tty.c index a75908888..74b2d09ef 100644 --- a/channels/serial/client/serial_tty.c +++ b/channels/serial/client/serial_tty.c @@ -31,7 +31,6 @@ #include #include -#include #include #include diff --git a/channels/smartcard/client/smartcard_operations.c b/channels/smartcard/client/smartcard_operations.c index 5d10b9543..56cb922b8 100644 --- a/channels/smartcard/client/smartcard_operations.c +++ b/channels/smartcard/client/smartcard_operations.c @@ -38,13 +38,12 @@ #undef BOOL #include - -#include #include #include -#include -#include + +#include #include +#include #include "smartcard_main.h" diff --git a/include/freerdp/utils/thread.h b/include/freerdp/utils/thread.h deleted file mode 100644 index 4d21b493e..000000000 --- a/include/freerdp/utils/thread.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - * FreeRDP: A Remote Desktop Protocol Implementation - * Thread Utils - * - * Copyright 2011 Vic Lee - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef FREERDP_UTILS_THREAD_H -#define FREERDP_UTILS_THREAD_H - -#include -#include - -#ifndef _WIN32 -#include -#endif - -#include - -typedef struct _freerdp_thread freerdp_thread; - -struct _freerdp_thread -{ - HANDLE mutex; - - HANDLE signals[5]; - int num_signals; - - int status; -}; - -#ifdef __cplusplus -extern "C" { -#endif - -FREERDP_API freerdp_thread* freerdp_thread_new(void); -FREERDP_API void freerdp_thread_start(freerdp_thread* thread, void* func, void* arg); -FREERDP_API void freerdp_thread_stop(freerdp_thread* thread); -FREERDP_API void freerdp_thread_free(freerdp_thread* thread); - -#ifdef __cplusplus -} -#endif - -#define freerdp_thread_wait(_t) ((WaitForMultipleObjects(_t->num_signals, _t->signals, FALSE, INFINITE) == WAIT_FAILED) ? -1 : 0) -#define freerdp_thread_wait_timeout(_t, _timeout) ((WaitForMultipleObjects(_t->num_signals, _t->signals, FALSE, _timeout) == WAIT_FAILED) ? -1 : 0) -#define freerdp_thread_is_stopped(_t) (WaitForSingleObject(_t->signals[0], 0) == WAIT_OBJECT_0) -#define freerdp_thread_is_running(_t) (_t->status == 1) -#define freerdp_thread_quit(_t) do { \ - _t->status = -1; \ - ResetEvent(_t->signals[0]); } while (0) -#define freerdp_thread_signal(_t) SetEvent(_t->signals[1]) -#define freerdp_thread_reset(_t) ResetEvent(_t->signals[1]) -#define freerdp_thread_lock(_t) WaitForSingleObject(_t->mutex, INFINITE) -#define freerdp_thread_unlock(_t) ReleaseMutex(_t->mutex) - -#endif /* FREERDP_UTILS_THREAD_H */ diff --git a/libfreerdp/utils/CMakeLists.txt b/libfreerdp/utils/CMakeLists.txt index bbea9ed96..5511a6a19 100644 --- a/libfreerdp/utils/CMakeLists.txt +++ b/libfreerdp/utils/CMakeLists.txt @@ -32,7 +32,6 @@ set(${MODULE_PREFIX}_SRCS string.c svc_plugin.c tcp.c - thread.c time.c uds.c) diff --git a/libfreerdp/utils/thread.c b/libfreerdp/utils/thread.c deleted file mode 100644 index 6eaaf406f..000000000 --- a/libfreerdp/utils/thread.c +++ /dev/null @@ -1,99 +0,0 @@ -/** - * FreeRDP: A Remote Desktop Protocol Implementation - * Thread Utils - * - * Copyright 2011 Vic Lee - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include - -#include -#include -#include - -#ifdef _WIN32 -#ifdef _MSC_VER -#include -#endif -#endif - -#include - -freerdp_thread* freerdp_thread_new(void) -{ - freerdp_thread* thread; - - thread = (freerdp_thread*) malloc(sizeof(freerdp_thread)); - ZeroMemory(thread, sizeof(freerdp_thread)); - - thread->mutex = CreateMutex(NULL, FALSE, NULL); - thread->signals[0] = CreateEvent(NULL, TRUE, FALSE, NULL); - thread->signals[1] = CreateEvent(NULL, TRUE, FALSE, NULL); - thread->num_signals = 2; - - return thread; -} - -void freerdp_thread_start(freerdp_thread* thread, void* func, void* arg) -{ - thread->status = 1; - -#ifdef _WIN32 - { - CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) func, arg, 0, NULL)); - } -#else - { - pthread_t th; - pthread_create(&th, 0, func, arg); - pthread_detach(th); - } -#endif -} - -void freerdp_thread_stop(freerdp_thread* thread) -{ - int i = 0; - - SetEvent(thread->signals[0]); - - while ((thread->status > 0) && (i < 1000)) - { - i++; - Sleep(100); - } -} - -void freerdp_thread_free(freerdp_thread* thread) -{ - int i; - - for (i = 0; i < thread->num_signals; i++) - CloseHandle(thread->signals[i]); - - thread->num_signals = 0; - - CloseHandle(thread->mutex); - thread->mutex = NULL; - - free(thread); -} diff --git a/server/X11/xf_peer.c b/server/X11/xf_peer.c index 88deadecb..8e523a605 100644 --- a/server/X11/xf_peer.c +++ b/server/X11/xf_peer.c @@ -39,7 +39,6 @@ #include #include #include -#include #include "xf_input.h" #include "xf_encode.h"