PTHREAD_ONCE(3) Library Functions Manual PTHREAD_ONCE(3)NAME
pthread_once - once-only 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 purpose of pthread_once is to ensure that a piece of initialization code is executed at most once. The once_control argument points to
a static or extern variable statically initialized to PTHREAD_ONCE_INIT.
The first time pthread_once is called with a given once_control argument, it calls init_routine with no argument and changes the value of
the once_control variable to record that initialization has been performed. Subsequent calls to pthread_once with the same once_control
argument do nothing.
RETURN VALUE
pthread_once always returns 0.
ERRORS
None.
AUTHOR
Xavier Leroy <Xavier.Leroy@inria.fr>
LinuxThreads PTHREAD_ONCE(3)
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
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)