History log of /freebsd/share/man/man3/pthread_mutex_unlock.3 (Results 1 – 25 of 34)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/14.0.0
# fa9896e0 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line nroff pattern

Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0
# 2a339d9e 17-May-2016 Konstantin Belousov <kib@FreeBSD.org>

Add implementation of robust mutexes, hopefully close enough to the
intention of the POSIX IEEE Std 1003.1TM-2008/Cor 1-2013.

A robust mutex is guaranteed to be cleared by the system upon either
thr

Add implementation of robust mutexes, hopefully close enough to the
intention of the POSIX IEEE Std 1003.1TM-2008/Cor 1-2013.

A robust mutex is guaranteed to be cleared by the system upon either
thread or process owner termination while the mutex is held. The next
mutex locker is then notified about inconsistent mutex state and can
execute (or abandon) corrective actions.

The patch mostly consists of small changes here and there, adding
neccessary checks for the inconsistent and abandoned conditions into
existing paths. Additionally, the thread exit handler was extended to
iterate over the userspace-maintained list of owned robust mutexes,
unlocking and marking as terminated each of them.

The list of owned robust mutexes cannot be maintained atomically
synchronous with the mutex lock state (it is possible in kernel, but
is too expensive). Instead, for the duration of lock or unlock
operation, the current mutex is remembered in a special slot that is
also checked by the kernel at thread termination.

Kernel must be aware about the per-thread location of the heads of
robust mutex lists and the current active mutex slot. When a thread
touches a robust mutex for the first time, a new umtx op syscall is
issued which informs about location of lists heads.

The umtx sleep queues for PP and PI mutexes are split between
non-robust and robust.

Somewhat unrelated changes in the patch:
1. Style.
2. The fix for proper tdfind() call use in umtxq_sleep_pi() for shared
pi mutexes.
3. Removal of the userspace struct pthread_mutex m_owner field.
4. The sysctl kern.ipc.umtx_vnode_persistent is added, which controls
the lifetime of the shared mutex associated with a vnode' page.

Reviewed by: jilles (previous version, supposedly the objection was fixed)
Discussed with: brooks, Martin Simmons <martin@lispworks.com> (some aspects)
Tested by: pho
Sponsored by: The FreeBSD Foundation

show more ...


Revision tags: release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0
# 3e9ed1ef 22-Oct-2007 Ruslan Ermilov <ru@FreeBSD.org>

Hide the implementation details about multiple threading libraries
from the synopses of pthread*(3) manpages.

Reviewed by: deischen, davidxu


Revision tags: release/6.2.0_cvs, release/6.2.0
# 5bb9f210 30-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Remove mentions of libc_r.


Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1
# f9f9d2e8 15-Jan-2004 Ruslan Ermilov <ru@FreeBSD.org>

Document interfaces that are supported by libthr.


# ec7452f1 14-Jan-2004 Ruslan Ermilov <ru@FreeBSD.org>

Have a single set of POSIX threads man pages. The LIBRARY section
of each manpage lists libraries that have corresponding interfaces
implemented.

Prodded by: threads
Reviewed by: deischen


Revision tags: release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0
# 9d09157a 24-Mar-2003 Philippe Charnier <charnier@FreeBSD.org>

The .Fn function. Use .Xr where appropriate.


Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1
# 25a65399 10-Jul-2002 Maxim Konovalov <maxim@FreeBSD.org>

Fix a typo.

MFC after: 3 days


Revision tags: release/4.6.0_cvs, release/4.5.0_cvs, release/4.4.0_cvs
# 32eef9ae 01-Oct-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: Use the new .In macro for #include statements.


# a307d598 10-Jul-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed HISTORY info from the .Os call.


# 70d51341 09-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

mdoc(7) police: remove extraneous .Pp before and/or after .Sh.


Revision tags: release/4.3.0_cvs, release/4.3.0
# 096841ec 26-Feb-2001 Ruslan Ermilov <ru@FreeBSD.org>

Use ``.St -p1003.1-96''.


Revision tags: release/4.2.0, release/4.1.1_cvs, release/4.1.0, release/3.5.0_cvs
# d8a78688 22-Apr-2000 Alexey Zelkin <phantom@FreeBSD.org>

Introduce .Lb macro to libc_r manpages.


Revision tags: release/4.0.0_cvs, release/3.4.0_cvs, release/3.3.0_cvs
# 7f3dea24 28-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# fbc400a6 12-Jul-1999 Nik Clayton <nik@FreeBSD.org>

Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage

Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde

show more ...


Revision tags: release/3.2.0, release/3.1.0, release/3.0.0, release/2.2.8
# acd80190 31-Aug-1998 Wolfram Schneider <wosch@FreeBSD.org>

Sort cross references.


# 8ac3b85e 03-Aug-1998 Alexander Langer <alex@FreeBSD.org>

The pthreads standard has been published. Change:
...is expected to conform to IEEE (``POSIX'') Std 1003.1c when it is
published.
to:
...conforms to ISO/IEC 9945-1 ANSI/IEEE (``POSIX'') Std

The pthreads standard has been published. Change:
...is expected to conform to IEEE (``POSIX'') Std 1003.1c when it is
published.
to:
...conforms to ISO/IEC 9945-1 ANSI/IEEE (``POSIX'') Std 1003.1 Second
Edition 1996-07-12.

Discussed with: jb

show more ...


# 1fbdc08d 31-Jul-1998 Poul-Henning Kamp <phk@FreeBSD.org>

I've put together man pages for the pthread_cleanup, pthread_cond, and
pthread_mutex routines. I've also tweaked pthread_create.3 to point to
pthread_cleanup_push(3) and pthread_cleanup_pop(3).

PR:

I've put together man pages for the pthread_cleanup, pthread_cond, and
pthread_mutex routines. I've also tweaked pthread_create.3 to point to
pthread_cleanup_push(3) and pthread_cleanup_pop(3).

PR: 7450
Submitted by: Brian Cully <shmit@kublai.com>

show more ...


Revision tags: release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0
# 3e9ed1ef 22-Oct-2007 Ruslan Ermilov <ru@FreeBSD.org>

Hide the implementation details about multiple threading libraries
from the synopses of pthread*(3) manpages.

Reviewed by: deischen, davidxu


Revision tags: release/6.2.0_cvs, release/6.2.0
# 5bb9f210 30-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Remove mentions of libc_r.


Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0, release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1
# f9f9d2e8 15-Jan-2004 Ruslan Ermilov <ru@FreeBSD.org>

Document interfaces that are supported by libthr.


# ec7452f1 14-Jan-2004 Ruslan Ermilov <ru@FreeBSD.org>

Have a single set of POSIX threads man pages. The LIBRARY section
of each manpage lists libraries that have corresponding interfaces
implemented.

Prodded by: threads
Reviewed by: deischen


Revision tags: release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0
# 9d09157a 24-Mar-2003 Philippe Charnier <charnier@FreeBSD.org>

The .Fn function. Use .Xr where appropriate.


Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1
# 25a65399 10-Jul-2002 Maxim Konovalov <maxim@FreeBSD.org>

Fix a typo.

MFC after: 3 days


Revision tags: release/4.6.0_cvs, release/4.5.0_cvs, release/4.4.0_cvs
# 32eef9ae 01-Oct-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: Use the new .In macro for #include statements.


12