:man| Alphabetical   Categories   About us 
 
PTHREAD_ONCE (3) | C library functions | Unix Manual Pages | :man

NAME

pthread_once - dynamic package initialization

CONTENTS

Library
Synopsis
Description
Return Values
Errors
Standards

LIBRARY


.Lb libc_r
.Lb libpthread
.Lb libthr

SYNOPSIS


.In pthread.h

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

DESCRIPTION

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
.In pthread.h .

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

RETURN VALUES

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

ERRORS

None.

STANDARDS

The pthread_once function conforms to -p1003.1-96.

April 4, 1996 PTHREAD_ONCE (3)
shtml">manServer 1.07 from pthread_once.3 using doc macros.

 
Created by Blin Media, 2008-2013