マルチスレッドのプログラミング

sem_init の戻り値

sem_init() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、この関数は失敗し、対応する値を返します。


EINVAL

説明:

value の値が SEM_VALUE_MAX を超えています。


ENOSPC

説明:

そのセマフォーを初期化するのに必要なリソースが使い果たされています。セマフォーの制限 SEM_NSEMS_MAX に達しています。


EPERM

説明:

そのセマフォーを初期化するのに必要な特権をそのプロセスがもっていません。