14 struct Thread::Private
22 Private(): handle(0) { }
31 Thread *t = reinterpret_cast<Thread *>(a);
57 WaitForSingleObject(priv_->handle, INFINITE);
59 pthread_join(priv_->handle, 0);
70 TerminateThread(priv_->handle, 0);
72 pthread_kill(priv_->handle, SIGKILL);
80 throw logic_error("already launched");
83 DWORD dummy; // Win9x needs the lpTthreadId parameter
84 priv_->handle = CreateThread(0, 0, &Private::main_wrapper, this, 0, &dummy);
86 pthread_create(&priv_->handle, 0, &Private::main_wrapper, this);