Content-type: text/html Man page of pthread_once

pthread_once

Section: Standard C Library Functions (3C)
Updated: 23 Mar 2005
Index Return to Main Contents
 

NAME

pthread_once - initialize dynamic package  

SYNOPSIS

cc -mt [ flag... ] file... -lpthread [ library... ]

#include <pthread.h> 
pthread_once_t once_control = PTHREAD_ONCE_INIT;

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

DESCRIPTION

If any thread in a process with a once_control parameter makes a call to pthread_once(), the first call will summon the init_routine(), but subsequent calls will not. The once_control parameter determines whether the associated initialization routine has been called. The init_routine() is complete upon return of pthread_once().

pthread_once() is not a cancellation point; however, if the function init_routine() is a cancellation point and is canceled, the effect on once_control is the same as if pthread_once() had never been called.

The constant PTHREAD_ONCE_INIT is defined in the <pthread.h> header.

If once_control has automatic storage duration or is not initialized by PTHREAD_ONCE_INIT, the behavior of pthread_once() is undefined.  

RETURN VALUES

Upon successful completion, pthread_once() returns 0. Otherwise, an error number is returned to indicate the error.  

ERRORS

EINVAL once_control or init_routine is NULL.

 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityStandard
MT-LevelMT-Safe

 

SEE ALSO

attributes(5), standards(5)  

NOTES

Solaris threads do not offer this functionality.


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUES
ERRORS
ATTRIBUTES
SEE ALSO
NOTES

This document was created by man2html, using the manual pages.
Time: 02:37:26 GMT, October 02, 2010