| 96 | } |
| 97 | |
| 98 | void Thread::start( void* arg ) |
| 99 | { |
| 100 | // cause start to block out other pthreads from using this Thread, |
| 101 | // at least until ThreadRunHandler exits. |
| 102 | mData->mGateway.acquire(); |
| 103 | |
| 104 | // reset the shouldStop flag, so we'll know when someone asks us to stop. |
| 105 | shouldStop = false; |
| 106 | |
| 107 | mData->mDead = false; |
| 108 | |
| 109 | if( !mData->mRunArg ) |
| 110 | mData->mRunArg = arg; |
| 111 | |
| 112 | mData->mSdlThread = SDL_CreateThread(ThreadRunHandler,NULL,mData); |
| 113 | |
| 114 | } |
| 115 | |
| 116 | bool Thread::join() |
| 117 | { |