We're looking for a person or people to help audit MDN to find places we could speed up. Is this you or someone you know? Check out the RFP: https://mzl.la/2IHcMiE


Jump to:

Ensures that subsystem initialization occurs only once.


PRStatus PR_CallOnce(
  PRCallOnceType *once, 
  PRCallOnceFN func);


PR_CallOnce has these parameters:

A pointer to an object of type PRCallOnceType. Initially (before any threading issues exist), the object must be initialized to all zeros. From that time on, the client should consider the object read-only (or even opaque) and allow the runtime to manipulate its content appropriately.
A pointer to the function the calling client has designed to perform the subsystem initialization. The function will be called once, at most, for each subsystem to be initialized. It should return a PRStatus indicating the result of the initialization process.
While the first thread executes this function, other threads attempting the same initialization will be blocked until it has been completed.

Document Tags and Contributors

 Contributors to this page: teoli, kaie, Callek, alecananian
 Last updated by: teoli,