aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2007-07-10 21:39:16 +0000
committerMichael Kerrisk <mtk.manpages@gmail.com>2007-07-10 21:39:16 +0000
commit9bc64d3e14e0dba515e14e92b866ddf6f89fa502 (patch)
tree4c7f0690e3364bc4956a5797ca25f99ca58b110f
parent6f1a1e6143733f5f2853fc3c8efd73c3aa03beeb (diff)
downloadman-pages-9bc64d3e14e0dba515e14e92b866ddf6f89fa502.tar.gz
Update text about modern threading implementations (NPTL vs LinuxThreads).
-rw-r--r--man7/pthreads.714
1 files changed, 7 insertions, 7 deletions
diff --git a/man7/pthreads.7 b/man7/pthreads.7
index 41f52902f1..e0c3357106 100644
--- a/man7/pthreads.7
+++ b/man7/pthreads.7
@@ -111,7 +111,8 @@ Over time, two threading implementations have been provided by
the GNU C library on Linux:
.IP \- 3
.B LinuxThreads
-This is the original (now obsolete) Pthreads implementation.
+This is the original Pthreads implementation.
+Since glibc 2.4, this implementation is no longer supported.
.IP \- 3
.B NPTL
(Native POSIX Threads Library)
@@ -119,7 +120,8 @@ This is the modern Pthreads implementation.
By comparison with LinuxThreads, NPTL provides closer conformance to
the requirements of the POSIX.1 specification and better performance
when creating large numbers of threads.
-NPTL requires features that are present in the Linux 2.6 kernel.
+NPTL is available since glibc 2.3.2,
+and requires features that are present in the Linux 2.6 kernel.
.PP
Both of these are so-called 1:1 implementations, meaning that each
thread maps to a kernel scheduling entity.
@@ -131,9 +133,6 @@ In NPTL, thread synchronization primitives (mutexes,
thread joining, etc.) are implemented using the Linux
.BR futex (2)
system call.
-.PP
-Modern GNU C libraries provide both LinuxThreads and NPTL, with the
-latter being the default (if supported by the underlying kernel).
.SS LinuxThreads
The notable features of this implementation are the following:
.IP \- 3
@@ -297,7 +296,7 @@ in the C shell).
Since glibc 2.3.2, the
.BR getconf (1)
command can be used to determine
-the system's default threading implementation, for example:
+the system's threading implementation, for example:
.nf
.in +4
@@ -317,7 +316,8 @@ bash$ $( ldd /bin/ls | grep libc.so | awk '{print $3}' ) | \\
.in -4
.fi
.SS "Selecting the Threading Implementation: LD_ASSUME_KERNEL"
-On systems with a glibc that supports both LinuxThreads and NPTL, the
+On systems with a glibc that supports both LinuxThreads and NPTL
+(i.e., glibc 2.3.\fIx\fP), the
.B LD_ASSUME_KERNEL
environment variable can be used to override
the dynamic linker's default choice of threading implementation.