aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-18 08:13:18 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-18 08:13:18 +0000
commitc6df09adf24ef80a84ae81680604165e74779f54 (patch)
treeef59e1706a6df16988d8cec066440a42ea85746a /linuxthreads
parent9aaac141b33408ca6128cf7dd34a6b24b6a4f95e (diff)
downloadglibc-c6df09adf24ef80a84ae81680604165e74779f54.zip
glibc-c6df09adf24ef80a84ae81680604165e74779f54.tar.gz
glibc-c6df09adf24ef80a84ae81680604165e74779f54.tar.bz2
Update.
2000-07-18 Ulrich Drepper <drepper@redhat.com> * intl/Makefile: Make sure tst-translit is run after tst-gettext. * locale/C-ctype.c: Add initializers for gap elements. * locale/programs/ld-ctype.c (ctype_output): Write out index entries for gap elements.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/pthread.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 10abc40..5d06c1c 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-18 Jakub Jelinek <jakub@redhat.com>
+
+ * pthread.c (__pthread_initialize_manager): Lock
+ __pthread_manager_thread.p_lock before calling clone.
+
2000-05-05 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/pt-machine.h (__compare_and_swap): Change it to
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index d70e3f4..c264da5 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -450,6 +450,8 @@ int __pthread_initialize_manager(void)
| __pthread_initial_thread.p_eventbuf.eventmask.event_bits[idx]))
!= 0)
{
+ __pthread_lock(__pthread_manager_thread.p_lock, NULL);
+
#ifdef NEED_SEPARATE_REGISTER_STACK
pid = __clone2(__pthread_manager_event,
(void **) __pthread_manager_thread_bos,
@@ -478,10 +480,10 @@ int __pthread_initialize_manager(void)
/* Now call the function which signals the event. */
__linuxthreads_create_event ();
-
- /* Now restart the thread. */
- __pthread_unlock(__pthread_manager_thread.p_lock);
}
+
+ /* Now restart the thread. */
+ __pthread_unlock(__pthread_manager_thread.p_lock);
}
}