SDL_CreateSemaphore

Name

SDL_CreateSemaphore -- 新しいセマフォを作成し、初期値を設定します。

Synopsis

#include "SDL.h"
#include "SDL_thread.h"

SDL_sem *SDL_CreateSemaphore(Uint32 initial_value);

Description

SDL_CreateSemaphore()関数は、新しいセマフォを 作成し、initial_valueに指定された値をセットします。 セマフォ上のロック操作である以下の3つの関数、 SDL_SemWaitSDL_SemTryWaitSDL_SemWaitTimeout、は、自動的に セマフォの値をデクリメントします。 ロック操作はセマフォの値が正でない(0以下)の場合はブロックされます。 セマフォ上のアンロック操作であるSDL_SemPostは、セマフォの値を排他的にインクリメントします。

Return Value

成功すると初期化されたセマフォのポインタが返されます。 エラーが起こった場合はNULLが返されます。

Examples

SDL_sem *my_sem;

my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE);

if (my_sem == NULL) {
        return CREATE_SEM_FAILED;
}

See Also

SDL_DestroySemaphore, SDL_SemWait, SDL_SemTryWait, SDL_SemWaitTimeout, SDL_SemPost, SDL_SemValue