summaryrefslogtreecommitdiff
path: root/linuxthreads/linuxthreads.texi
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-12-14 22:17:03 +0000
committerUlrich Drepper <drepper@redhat.com>2001-12-14 22:17:03 +0000
commit638621aff981fc5e9e5824d04c67ef2a7dfa4744 (patch)
treef81d717e5260b86d984b4767bcdecd48be253f30 /linuxthreads/linuxthreads.texi
parent0ce9cf883db2ec6bf8854828b4b57d03e050c5f2 (diff)
Update.
* sysdeps/generic/strstr.c (strstr): Update. New optimized version.
Diffstat (limited to 'linuxthreads/linuxthreads.texi')
-rw-r--r--linuxthreads/linuxthreads.texi11
1 files changed, 4 insertions, 7 deletions
diff --git a/linuxthreads/linuxthreads.texi b/linuxthreads/linuxthreads.texi
index 9513a67a6a..b4d83c9dee 100644
--- a/linuxthreads/linuxthreads.texi
+++ b/linuxthreads/linuxthreads.texi
@@ -1395,12 +1395,10 @@ pocess image.
To understand the purpose of @code{pthread_atfork}, recall that
@code{fork} duplicates the whole memory space, including mutexes in
their current locking state, but only the calling thread: other threads
-are not running in the child process. Thus, if a mutex is locked by a
-thread other than the thread calling @code{fork}, that mutex will remain
-locked forever in the child process, possibly blocking the execution of
-the child process. Or if some shared data, such as a linked list, was in the
-middle of being updated by a thread in the parent process, the child
-will get a copy of the incompletely updated data which it cannot use.
+are not running in the child process. The mutexes are not usable after
+the @code{fork} and must be initialized with @code{pthread_mutex_init}
+in the child process. This is a limitation of the current
+implementation and might or might not be present in future versions.
To avoid this, install handlers with @code{pthread_atfork} as follows: have the
@var{prepare} handler lock the mutexes (in locking order), and the
@@ -1627,4 +1625,3 @@ of a mapping of user threads to kernel threads. It exists for source
compatibility. However, it will return the value that was set by the
last call to @code{pthread_setconcurrency}.
@end deftypefun
-