PR_OpenSemaphore

创建或打开一个具有指定名称的命名信号量。

语法

#include <pripcsem.h>

#define PR_SEM_CREATE 0x1 /* create if not exist */

#define PR_SEM_EXCL 0x2 /* fail if already exists */

NSPR_API(PRSem *) PR_OpenSemaphore(
  const char *name,
  PRIntn flags,
  PRIntn mode,
  PRUintn value
);

参数

该函数具有以下参数

name

要赋予信号量的名称。

flags

如何创建或打开信号量。

mode

创建信号量时使用的 Unix 风格文件模式。

value

分配给信号量的初始值。

返回值

指向 PRSem 结构的指针或 NULL/code> 发生错误时。

描述

如果命名信号量不存在并且指定了 PR_SEM_CREATE 标志,则创建命名信号量。创建的信号量需要使用 PR_DeleteSemaphore 调用从系统中删除。

如果指定了 PR_SEM_CREATE,则第三个参数是新信号量的访问权限位(与 PR_Open 的 mode 参数的解释相同),第四个参数是新信号量的初始值。如果 PR_SEM_CREATE 未指定,则忽略第三个和第四个参数。