PR_Initialize
Provides an alternate form of explicit initialization. In addition to establishing the sequence of operations, PR_Initialize implicitly calls PR_Cleanup on exiting the primordial function.
Syntax
#include <prinit.h>
PRIntn PR_Initialize(
PRPrimordialFn prmain,
PRIntn argc,
char **argv,
PRUintn maxPTDs);
Parameters
PR_Initialize has the following parameters:
prmain
The function that becomes the primordial thread’s root function. Returning from prmain leads to termination of the process.
argc
The length of the argument vector, whether passed in from the host’s program-launching facility or fabricated by the actual main program. This approach conforms to standard C programming practice.
argv
The base address of an array of strings that compromise the program’s argument vector. This approach conforms to standard C programming practice.
maxPTDs
This parameter is ignored.
Returns
The value returned from the root function, prmain
.
Description
PR_Initialize initializes the NSPR runtime and places NSPR between
the caller and the runtime library. This allows main
to be treated
like any other function, signaling its completion by returning and
allowing the runtime to coordinate the completion of the other threads
of the runtime.
PR_Initialize does not return to its caller until all user threads have terminated.
The priority of the main (or primordial) thread is
PR_PRIORITY_NORMAL
. The thread may adjust its own priority by using
PR_SetThreadPriority.