GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PTHREAD_ONCE(3) FreeBSD Library Functions Manual PTHREAD_ONCE(3)

pthread_once
dynamic package initialization

POSIX Threads Library (libpthread, -lpthread)

#include <pthread.h>

pthread_once_t once_control = PTHREAD_ONCE_INIT;
int
pthread_once(pthread_once_t *once_control, void (*init_routine)(void));

The first call to pthread_once() by any thread in a process, with a given once_control, will call the init_routine() with no arguments. Subsequent calls to pthread_once() with the same once_control will not call the init_routine(). On return from pthread_once(), it is guaranteed that init_routine() has completed. The once_control parameter is used to determine whether the associated initialization routine has been called.

The function pthread_once() is not a cancellation point. However, if init_routine() is a cancellation point and is cancelled, the effect on once_control is as if pthread_once() was never called.

The constant PTHREAD_ONCE_INIT is defined by header <pthread.h>.

The behavior of pthread_once() is undefined if once_control has automatic storage duration or is not initialized by PTHREAD_ONCE_INIT.

If successful, the pthread_once() function will return zero. Otherwise an error number will be returned to indicate the error.

None.

The pthread_once() function conforms to ISO/IEC 9945-1:1996 (“POSIX.1”).
April 4, 1996 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.