summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_init.c
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2003-04-03 03:34:50 +0000
committerjake <jake@FreeBSD.org>2003-04-03 03:34:50 +0000
commit5b2b2811a19544037b626ef44e598691b3b2f525 (patch)
treed95f2bb910f0eebc71243aa5c4f13994c66da5ec /lib/libthr/thread/thr_init.c
parent12c39a9461b4db1d8608dca0cb0cfc47ff8b234e (diff)
downloadFreeBSD-src-5b2b2811a19544037b626ef44e598691b3b2f525.zip
FreeBSD-src-5b2b2811a19544037b626ef44e598691b3b2f525.tar.gz
- Pass a ucontext_t to _set_curthread. If non-NULL the new thread is set
as curthread in the new context, so that it will be set automatically when the thread is switched to. This fixes a race where we'd run for a little while with curthread unset in _thread_start. Reviewed by: jeff
Diffstat (limited to 'lib/libthr/thread/thr_init.c')
-rw-r--r--lib/libthr/thread/thr_init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libthr/thread/thr_init.c b/lib/libthr/thread/thr_init.c
index 6a6fd45..1a0c648 100644
--- a/lib/libthr/thread/thr_init.c
+++ b/lib/libthr/thread/thr_init.c
@@ -219,7 +219,7 @@ _thread_init(void)
PANIC("Cannot allocate memory for initial thread");
}
_thread_initial = pthread;
- pthread->arch_id = _set_curthread(pthread);
+ pthread->arch_id = _set_curthread(NULL, pthread);
/* Zero the initial thread structure: */
memset(pthread, 0, sizeof(struct pthread));
OpenPOWER on IntegriCloud