sem_init() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、この関数は失敗し、対応する値を返します。
EINVAL
説明:value の値が SEM_VALUE_MAX を超えています。
ENOSPC
説明:そのセマフォーを初期化するのに必要なリソースが使い果たされています。セマフォーの制限 SEM_NSEMS_MAX に達しています。
EPERM
説明:そのセマフォーを初期化するのに必要な特権をそのプロセスがもっていません。