mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1,009 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1,009 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
PR_CallOnce
 | 
						|
===========
 | 
						|
 | 
						|
Ensures that subsystem initialization occurs only once.
 | 
						|
 | 
						|
 | 
						|
Syntax
 | 
						|
------
 | 
						|
 | 
						|
.. code::
 | 
						|
 | 
						|
   PRStatus PR_CallOnce(
 | 
						|
     PRCallOnceType *once,
 | 
						|
     PRCallOnceFN func);
 | 
						|
 | 
						|
 | 
						|
Parameters
 | 
						|
~~~~~~~~~~
 | 
						|
 | 
						|
:ref:`PR_CallOnce` has these parameters:
 | 
						|
 | 
						|
``once``
 | 
						|
   A pointer to an object of type :ref:`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.
 | 
						|
``func``
 | 
						|
   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
 | 
						|
   :ref:`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.
 |