static int start_thread(CSocketIOPtr s) { CSocketIO* sock = s.Detach(); #ifdef _WIN32 _beginthread(thread_proc,0,(void*)sock); return 0; #elif HAVE_PTHREAD_H pthread_t a_thread = 0; pthread_create( &a_thread, NULL, thread_proc, (void *)sock); pthread_detach( a_thread ); #else thread_proc((void*)sock); #endif }
void* thread_base_proc(void *self) { thread_proc(self); return 0; }