summaryrefslogtreecommitdiff
path: root/doc/posix-functions/pthread_rwlock_rdlock.texi
blob: 20620de4bc535d7a246b061f8d7ca9da27001a0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@node pthread_rwlock_rdlock
@section @code{pthread_rwlock_rdlock}
@findex pthread_rwlock_rdlock

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html}

Gnulib module: pthread-rwlock

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
Minix 3.1.8, mingw, MSVC 14, Android 4.3.
But the provided replacement is just a dummy on some of these platforms:
Minix 3.1.8.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function prefers readers to writers (meaning, when this function is
called on an rwlock that is already taken by one or more readers, and
another writer is already waiting to take it, this function may return
successfully immediately) -- a behaviour that may lead to writer starvation --
on some platforms:
glibc 2.28.
As a workaround, you can use the @code{gl_rwlock_t} type from the Gnulib
module @samp{lock}.
@end itemize