SDL_SemWait

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);

See Also

SDL_CreateSemaphore, SDL_DestroySemaphore, SDL_SemTryWait, SDL_SemWaitTimeout, SDL_SemPost, SDL_SemValue