diff options
author | mtm <mtm@FreeBSD.org> | 2003-05-29 20:40:50 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2003-05-29 20:40:50 +0000 |
commit | 9863dd8503db3fadb6ae84c6eee25d7ee94a2a5a (patch) | |
tree | d8e91c9705dd9188702af23f722517e4ccbc0ccb /lib/libthr | |
parent | 9fcdd31cc2ba95337d023101497182b5fe36da01 (diff) | |
download | FreeBSD-src-9863dd8503db3fadb6ae84c6eee25d7ee94a2a5a.zip FreeBSD-src-9863dd8503db3fadb6ae84c6eee25d7ee94a2a5a.tar.gz |
It's unnecessary to lock the thread during creation. Simply extend
the scope of the active thread list lock.
Approved by: re/jhb
Diffstat (limited to 'lib/libthr')
-rw-r--r-- | lib/libthr/thread/thr_create.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/libthr/thread/thr_create.c b/lib/libthr/thread/thr_create.c index c86f244..0b08562 100644 --- a/lib/libthr/thread/thr_create.c +++ b/lib/libthr/thread/thr_create.c @@ -171,7 +171,6 @@ _pthread_create(pthread_t * thread, const pthread_attr_t * attr, new_thread->uniqueid = next_uniqueid++; THREAD_LIST_LOCK; - _thread_critical_enter(new_thread); /* * Check if the garbage collector thread @@ -182,8 +181,6 @@ _pthread_create(pthread_t * thread, const pthread_attr_t * attr, /* Add the thread to the linked list of all threads: */ TAILQ_INSERT_HEAD(&_thread_list, new_thread, tle); - THREAD_LIST_UNLOCK; - /* * Create the thread. * @@ -200,11 +197,11 @@ _pthread_create(pthread_t * thread, const pthread_attr_t * attr, PANIC("thr_create"); } + THREAD_LIST_UNLOCK; + /* Return a pointer to the thread structure: */ (*thread) = new_thread; - _thread_critical_exit(new_thread); - /* * Start a garbage collector thread * if necessary. |