目次 - API(機能別) - 同期プリミティブ - SDL_CondWaitTimeout

SDL_CondWaitTimeout

条件変数が通知されるか指定の時間が経過するまで待つ

構文

int SDL_CondWaitTimeout(SDL_cond* cond, SDL_mutex* mutex, Uint32 ms)

引数

cond待つ条件変数
mutexスレッドアクセスを制御するためのmutex
msミリ秒単位の最大待ち時間. SDL_MUTEX_MAXWAITのとき無制限に待つ

戻り値

条件変数が通知されたとき0, 通知されずに待ち時間が経過したときSDL_MUTEX_TIMEDOUT, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()で詳細を知ることができる.

詳細

この関数はmutexのロックを解除し, 別のスレッドがSDL_CondSignal()SDL_CondBroadcast()を呼んで条件変数condを通知する, あるいは指定の時間が経過するまで待つ. 条件変数が通知, または指定の時間が経過すれば, mutexは再びロックされ関数から戻る.

mutexはこの関数を呼ぶ前にロックされている必要がある.

関連項目(関数)

SDL_CreateCond
SDL_CondBroadcast
SDL_CondSignal
SDL_CondWait
SDL_DestroyCond

SDL Wikiへのリンク

SDL_CondWaitTimeout - SDL Wiki