diff --git a/viewer/svutil.cpp b/viewer/svutil.cpp index 34a22861..84a4b944 100644 --- a/viewer/svutil.cpp +++ b/viewer/svutil.cpp @@ -83,6 +83,27 @@ void SVMutex::Unlock() { #endif } +// Create new thread. +void SVSync::StartThread(void *(*func)(void*), void* arg) { +#ifdef _WIN32 + LPTHREAD_START_ROUTINE f = (LPTHREAD_START_ROUTINE) func; + DWORD threadid; + HANDLE newthread = CreateThread( + NULL, // default security attributes + 0, // use default stack size + f, // thread function + arg, // argument to thread function + 0, // use default creation flags + &threadid); // returns the thread identifier +#else + pthread_t helper; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + pthread_create(&helper, &attr, func, arg); +#endif +} + #ifndef GRAPHICS_DISABLED const int kMaxMsgSize = 4096; @@ -186,29 +207,6 @@ void SVSemaphore::Wait() { #endif } - -// Create new thread. - -void SVSync::StartThread(void *(*func)(void*), void* arg) { -#ifdef _WIN32 - LPTHREAD_START_ROUTINE f = (LPTHREAD_START_ROUTINE) func; - DWORD threadid; - HANDLE newthread = CreateThread( - NULL, // default security attributes - 0, // use default stack size - f, // thread function - arg, // argument to thread function - 0, // use default creation flags - &threadid); // returns the thread identifier -#else - pthread_t helper; - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - pthread_create(&helper, &attr, func, arg); -#endif -} - // Place a message in the message buffer (and flush it). void SVNetwork::Send(const char* msg) { mutex_send_->Lock();