Name
SDL_SemWait -- セマフォをロックし、セマフォの値が0のときはスレッドを停止します。
Synopsis
#include "SDL.h"
#include "SDL_thread.h"
int SDL_SemWait(SDL_sem *sem);
Description
SDL_SemWait() は、semの示す
セマフォが正の値を持つか、呼び出しがシグナルやエラーで中断されるまで
呼び出し元のスレッドを
停止します。
呼び出しが成功すると、セマフォの値を排他的にデクリメントします。
SDL_SemWait()が成功した後は、
セマフォを解放したり、SDL_SemPostを呼びだして
値をインクリメントさせたりすることができます。
Return Value
成功すると0 を、エラーが起こると
-1を返します。(このとき、セマフォの内容は変更されません)
Examples
if (SDL_SemWait(my_sem) == -1) {
return WAIT_FAILED;
}
...
SDL_SemPost(my_sem);