summaryrefslogtreecommitdiffstats
path: root/man3/pthread_once.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:07 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:07 +0000
commit3af6d22bb3850ab2bac67287e3a3d3b0e32868e5 (patch)
tree3ee7a3ec64525911fa865bb984c86d997d855527 /man3/pthread_once.3
parentAdding debian version 6.05.01-1. (diff)
downloadmanpages-3af6d22bb3850ab2bac67287e3a3d3b0e32868e5.tar.xz
manpages-3af6d22bb3850ab2bac67287e3a3d3b0e32868e5.zip
Merging upstream version 6.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man3/pthread_once.3')
-rw-r--r--man3/pthread_once.344
1 files changed, 44 insertions, 0 deletions
diff --git a/man3/pthread_once.3 b/man3/pthread_once.3
new file mode 100644
index 0000000..852dffa
--- /dev/null
+++ b/man3/pthread_once.3
@@ -0,0 +1,44 @@
+.\" Copyright, Xavier Leroy <Xavier.Leroy@inria.fr>
+.\" Copyright 2023, Alejandro Colomar <alx@kernel.org>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH pthread_once 3 2023-10-31 "Linux man-pages 6.7"
+.
+.
+.SH NAME
+pthread_once
+\-
+once-only initialization
+.
+.
+.SH SYNOPSIS
+.B #include <pthread.h>
+.P
+.BI "pthread_once_t " once_control " = PTHREAD_ONCE_INIT;"
+.P
+.BI "int pthread_once(pthread_once_t *" once_control ", void (*" init_routine ") (void));"
+.
+.
+.SH DESCRIPTION
+The purpose of \fBpthread_once\fP is
+to ensure that a piece of initialization code is executed at most once.
+The \fIonce_control\fP argument points to a static or extern variable
+statically initialized to \fBPTHREAD_ONCE_INIT\fP.
+.P
+The first time \fBpthread_once\fP is called
+with a given \fIonce_control\fP argument,
+it calls \fIinit_routine\fP with no argument
+and changes the value of the \fIonce_control\fP variable
+to record that initialization has been performed.
+Subsequent calls to \fBpthread_once\fP
+with the same \fBonce_control\fP argument
+do nothing.
+.
+.
+.SH "RETURN VALUE"
+\fBpthread_once\fP always returns 0.
+.
+.
+.SH ERRORS
+None.