コード例 #1
0
void concurrency::condition_variable::wait(mutex&m)
{
	#ifdef _WIN32
	m.unlock();
	
	HANDLE handles[] = {cond_var.signal, cond_var.broadcast};
	WaitForMultipleObjects(2, handles, false, INFINITE);
	
	m.lock();
	#else
		pthread_mutex_t mtx = m.get_mutex();
		pthread_cond_wait (&cond_var, &mtx);
	#endif
}
コード例 #2
0
ファイル: map.cpp プロジェクト: linjus/bingshin
 virtual void wait(mutex &mut)
 {
     pthread_cond_wait(&this->pthcond, mut.get_mutex());
 }
コード例 #3
0
ファイル: map.cpp プロジェクト: linjus/bingshin
    virtual void wait(mutex &mut)
    {
		::SleepConditionVariableCS(&this->cv, mut.get_mutex(), INFINITE);
    }
コード例 #4
0
ファイル: map.cpp プロジェクト: linjus/bingshin
    virtual void wait(mutex &mut)
    {
		SDL_CondWait(this->sdlcond, mut.get_mutex());
    }