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
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
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)
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)
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)
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)
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)