PR_CallOnce

确保子系统初始化只发生一次。

语法

PRStatus PR_CallOnce(
  PRCallOnceType *once,
  PRCallOnceFN func);

参数

PR_CallOnce 具有以下参数

once

指向 PRCallOnceType 类型对象的指针。最初(在任何线程问题出现之前),该对象必须初始化为全零。从那时起,客户端应将该对象视为只读(甚至是不透明的),并允许运行时适当地操作其内容。

func

指向调用客户端设计用于执行子系统初始化的函数的指针。对于每个要初始化的子系统,该函数最多将被调用一次。它应该返回一个 PRStatus,指示初始化过程的结果。当第一个线程执行此函数时,其他尝试相同初始化的线程将被阻塞,直到它完成。