Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pthread_once(3) [osx man page]

PTHREAD_ONCE(3) 					   BSD Library Functions Manual 					   PTHREAD_ONCE(3)

NAME
pthread_once -- dynamic package initialization SYNOPSIS
#include <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. Sub- sequent 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. 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
pthread_once() conforms to ISO/IEC 9945-1:1996 (``POSIX.1''). BSD
April 4, 1996 BSD

Check Out this Related Man Page

PTHREAD_ONCE(3) 					   BSD Library Functions Manual 					   PTHREAD_ONCE(3)

NAME
pthread_once -- dynamic package initialization LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <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. Sub- sequent 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. 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 ISO/IEC 9945-1:1996 (``POSIX.1''). BSD
April 4, 1996 BSD
Man Page

5 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Profiling..entry for a function in pthread_create

Hello, i am try to write a profiler for a multithreaded applciation. When i creat e a thread for "function f2()" the profiling information for this function does not get captured in the struct profileManager. i;e i get the exit information for "function f2()" in that thread, but the entry... (2 Replies)
Discussion started by: Vikky Panchal
2 Replies

2. AIX

valgrind - pthread memory leaks on AIX

Hi all, I have written a small code just to invoke main and return immediately. When built with libpthread on AIX box, valgrind throws lots of memory leak errors. But when built without libpthread, no issues at all. Here is the sample run for your look. Any idea where I might be going wrong?... (3 Replies)
Discussion started by: visionofarun
3 Replies

3. Programming

Linking problem

Hi! We recently updated the server (server is a big word, it's really just a desktop with Ubuntu that we access with ssh) on which we compile our code. Since the update my code won't compile. The linker is complaining about missing references from almost all .so that I'm linking from. It... (0 Replies)
Discussion started by: philippevk
0 Replies

4. Programming

pthread locking and unlocking.

When more than one thread is waiting for a locked mutex, which thread will be granted the lock first after it is released. In our application we want to implement FIFO thread scheduling policy i.e. Thread should get lock which one requested first for it. AIX have SCHED_FIFO thread scheduling... (1 Reply)
Discussion started by: mukind
1 Replies

5. Programming

C++ singleton

How to write a class that can only be instancialized once? what about my implementation below? #include<iostream> #include<stdexcept> using namespace std; class Singleton { public: int b; Singleton(); private: static int num; }; int Singleton::num = 1; (10 Replies)
Discussion started by: vistastar
10 Replies