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
.