EN JA
SEM_INIT(3)
SEM_INIT(3) FreeBSD Library Functions Manual SEM_INIT(3)

名称

sem_init無名のセマフォを初期化する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < semaphore.h>

int
sem_init( sem_t *sem, int pshared, unsigned int value);

解説

sem_init() 関数は、値 value を持つために sem によって指される無名のセマフォを初期化します。

pshared のための 0 でない値は、複数のプロセスによって使用できる共有セマフォを指定し、セマフォは、共有メモリ領域 ( mmap(2), shm_open(2)shmget(2) 参照) に位置するべきです、アドレス sem への読み込み書き込みアクセスがある任意のプロセスは、 sem でマフォ操作を実行できます。

sem_init(), への呼び出しが成功した後に、 sem は、 sem_wait(3), sem_trywait(3), sem_post(3), sem_destroy(3) への後の呼び出しで引数として使用できます。 sem 引数は、 sem_destroy(3) への呼び出しに成功した後ではもはや有効ではありません。

戻り値

The sem_init() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

sem_init() 関数は、次の場合に失敗します:
[ EINVAL]
value 引数が、 SEM_VALUE_MAX を超過しています。
[ ENOSPC]
メモリ割り付けエラー。

規格

sem_init() 関数は、 ISO/IEC 9945-1:1996 (“POSIX.1”) に適合しています。
January 9, 2010 FreeBSD