summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-04-30 01:03:58 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-04-30 01:03:58 +0000
commitd0537b4f6589beab0c56ad560e33a9cb428ddc17 (patch)
tree5d5f9d2d25e297654a8903b480eeb447ab5a6148 /lib
parent31f8a355e2fdb6b2cd41aad02c25f0d9cc82846a (diff)
downloadFreeBSD-src-d0537b4f6589beab0c56ad560e33a9cb428ddc17.zip
FreeBSD-src-d0537b4f6589beab0c56ad560e33a9cb428ddc17.tar.gz
Call kse_wakeup_multi() to wakeup idle KSEs when there are threads ready
to run.
Diffstat (limited to 'lib')
-rw-r--r--lib/libkse/thread/thr_kern.c1
-rw-r--r--lib/libpthread/thread/thr_kern.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/libkse/thread/thr_kern.c b/lib/libkse/thread/thr_kern.c
index 5762219..c26279e 100644
--- a/lib/libkse/thread/thr_kern.c
+++ b/lib/libkse/thread/thr_kern.c
@@ -785,6 +785,7 @@ kse_sched_multi(struct kse *curkse)
; /* Nothing to do here. */
else if ((curthread->need_switchout == 0) &&
(curthread->blocked == 0) && (THR_IN_CRITICAL(curthread))) {
+ kse_wakeup_multi(curkse);
/*
* Resume the thread and tell it to yield when
* it leaves the critical region.
diff --git a/lib/libpthread/thread/thr_kern.c b/lib/libpthread/thread/thr_kern.c
index 5762219..c26279e 100644
--- a/lib/libpthread/thread/thr_kern.c
+++ b/lib/libpthread/thread/thr_kern.c
@@ -785,6 +785,7 @@ kse_sched_multi(struct kse *curkse)
; /* Nothing to do here. */
else if ((curthread->need_switchout == 0) &&
(curthread->blocked == 0) && (THR_IN_CRITICAL(curthread))) {
+ kse_wakeup_multi(curkse);
/*
* Resume the thread and tell it to yield when
* it leaves the critical region.
OpenPOWER on IntegriCloud