summaryrefslogtreecommitdiff
path: root/sysdeps/l4/pt-thread-start.c
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2007-11-20 17:39:57 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-04-07 23:09:57 +0200
commit961d71afd49f55395e6dbfe203d6b968e4105ee0 (patch)
tree97f99e363a54786ad2323f6b1c5a5e004d5965e8 /sysdeps/l4/pt-thread-start.c
parent43e3246eb6a26162ef931dadcd4a8a649c57289b (diff)
2007-11-20 Neal H. Walfield <neal@gnu.org>
* Makefile.am (libpthread_a_SOURCES): Remove pt-create-np.c. * sysdeps/l4/pt-create-np.c: Remove file. * sysdeps/l4/pt-pool-np.c (pthread_pool_add_np): Change tid from an _L4_thread_id_t to an l4_thread_id_t. (pthread_pool_get_np): Return an l4_thread_id_t, not a _L4_thread_id_t. * sysdeps/l4/bits/pthread-np.h (pthread_create_from_l4_tid_np): Remove declaration. (pthread_pool_add_np): Change tid from an _L4_thread_id_t to an l4_thread_id_t. (pthread_pool_get_np): Return an l4_thread_id_t, not a _L4_thread_id_t. * sysdeps/l4/pt-docancel.c (__pthread_do_cancel): Implement for the case that the target thread is not the executing thread. * sysdeps/l4/pt-thread-alloc.c (__pthread_thread_alloc): Return EAGAIN if pthread_pool_get_np does not return a thread. Update comments. * sysdeps/l4/pt-thread-start.c (__pthread_thread_start): Don't set the thread's pager. Assert that if this is the first thread, then THREAD->THREADID is designates the running thread. * sysdeps/l4/pt-timedblock.c (__pthread_timedblock): Add warning about incomplete implementation. * Makefile.am (libpthread_a_SOURCES): Remove pt-thread-init.c. * sysdeps/l4/pt-thread-init.c: Remove dead file. * sysdeps/l4/pt-start.c: Remove dead file.
Diffstat (limited to 'sysdeps/l4/pt-thread-start.c')
-rw-r--r--sysdeps/l4/pt-thread-start.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sysdeps/l4/pt-thread-start.c b/sysdeps/l4/pt-thread-start.c
index 10996e1c..538d0444 100644
--- a/sysdeps/l4/pt-thread-start.c
+++ b/sysdeps/l4/pt-thread-start.c
@@ -1,5 +1,5 @@
/* Start thread. L4 version.
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -29,12 +29,12 @@ __pthread_thread_start (struct __pthread *thread)
{
/* The main thread is already running of course. */
if (__pthread_num_threads == 1)
- assert (__pthread_total == 1);
- else
{
- l4_set_pager_of (thread->threadid, l4_pager ());
- l4_start_sp_ip (thread->threadid, (l4_word_t) thread->mcontext.sp,
- (l4_word_t) thread->mcontext.pc);
+ assert (__pthread_total == 1);
+ assert (l4_is_thread_equal (l4_myself (), thread->threadid));
}
+ else
+ l4_start_sp_ip (thread->threadid, (l4_word_t) thread->mcontext.sp,
+ (l4_word_t) thread->mcontext.pc);
return 0;
}