sem_init() 在成功完成之后会返回零。其他任何返回值都表示出现了错误。如果出现以下任一情况,该函数将失败并返回对应的值。
EINVAL
参数值超过了 SEM_VALUE_MAX。
ENOSPC
初始化信号所需的资源已经用完。到达信号的 SEM_NSEMS_MAX 限制。
ENOSYS
系统不支持 sem_init() 函数。
EPERM
进程缺少初始化信号所需的适当权限。