This chapter describes the NSPR API for versioning, process initialization, and shutdown of NSPR.
Identity and Versioning
Name and Version Constants
Initialization and Cleanup
NSPR detects whether the library has been initialized and performs implicit initialization if it hasn't. Implicit initialization should suffice unless a program has specific sequencing requirements or needs to characterize the primordial thread. Explicit initialization is rarely necessary.
Implicit initialization assumes that the initiator is the primordial thread and that the thread is a user thread of normal priority.
PR_Init
PR_Initialize
PR_Initialized
PR_Cleanup
PR_DisableClockInterrupts
PR_BlockClockInterrupts
PR_UnblockClockInterrupts
PR_SetConcurrency
PR_ProcessExit
PR_Abort
Module Initialization
Initialization can be tricky in a threaded environment, especially initialization that must happen exactly once. PR_CallOnce
ensures that such initialization code is called only once. This facility is recommended in situations where complicated global initialization is required.