summaryrefslogtreecommitdiffstats
path: root/man3/pthread_mutex_consistent.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/pthread_mutex_consistent.3')
-rw-r--r--man3/pthread_mutex_consistent.386
1 files changed, 86 insertions, 0 deletions
diff --git a/man3/pthread_mutex_consistent.3 b/man3/pthread_mutex_consistent.3
new file mode 100644
index 0000000..0f9cda3
--- /dev/null
+++ b/man3/pthread_mutex_consistent.3
@@ -0,0 +1,86 @@
+.\" Copyright (c) 2017, Yubin Ruan <ablacktshirt@gmail.com>
+.\" and Copyright (c) 2017, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH pthread_mutex_consistent 3 2023-03-30 "Linux man-pages 6.05.01"
+.SH NAME
+pthread_mutex_consistent \- make a robust mutex consistent
+.SH LIBRARY
+POSIX threads library
+.RI ( libpthread ", " \-lpthread )
+.SH SYNOPSIS
+.nf
+.B #include <pthread.h>
+.PP
+.BI "int pthread_mutex_consistent(pthread_mutex_t *" mutex ");"
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR pthread_mutex_consistent ():
+.nf
+ _POSIX_C_SOURCE >= 200809L
+.fi
+.SH DESCRIPTION
+This function makes a robust mutex consistent if it is in an inconsistent
+state.
+A mutex can be left in an inconsistent state if its owner terminates
+while holding the mutex, in which case the next owner who acquires the
+mutex will succeed and be notified by a return value of
+.B EOWNERDEAD
+from a call to
+.BR pthread_mutex_lock ().
+.SH RETURN VALUE
+On success,
+.IR pthread_mutex_consistent ()
+returns 0.
+Otherwise,
+it returns a positive error number to indicate the error.
+.SH ERRORS
+.TP
+.B EINVAL
+The mutex is either not robust or is not in an inconsistent state.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.12.
+POSIX.1-2008.
+.PP
+Before the addition of
+.BR pthread_mutex_consistent ()
+to POSIX,
+glibc defined the following equivalent nonstandard function if
+.B _GNU_SOURCE
+was defined:
+.PP
+.nf
+.B [[deprecated]]
+.BI "int pthread_mutex_consistent_np(const pthread_mutex_t *" mutex );
+.fi
+.PP
+This GNU-specific API, which first appeared in glibc 2.4,
+is nowadays obsolete and should not be used in new programs;
+since glibc 2.34 it has been marked as deprecated.
+.SH NOTES
+.BR pthread_mutex_consistent ()
+simply informs the implementation that the state (shared data)
+guarded by the mutex has been restored to a consistent state and that
+normal operations can now be performed with the mutex.
+It is the application's responsibility to ensure that the
+shared data has been restored to a consistent state before calling
+.BR pthread_mutex_consistent ().
+.SH EXAMPLES
+See
+.BR pthread_mutexattr_setrobust (3).
+.SH SEE ALSO
+.ad l
+.nh
+.BR pthread_mutex_lock (3),
+.BR pthread_mutexattr_getrobust (3),
+.BR pthread_mutexattr_init (3),
+.BR pthread_mutexattr_setrobust (3),
+.BR pthreads (7)