summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2016-05-23 10:31:54 +0000
committerhselasky <hselasky@FreeBSD.org>2016-05-23 10:31:54 +0000
commit5a9f6f8a54d257ba5220255723a5655b109ceba0 (patch)
tree3ee10be0e7a548229df4f29c620bf4916182ed6c
parentb48bf88aecdcd15f2ade62ff8e942f497584f0c4 (diff)
downloadFreeBSD-src-5a9f6f8a54d257ba5220255723a5655b109ceba0.zip
FreeBSD-src-5a9f6f8a54d257ba5220255723a5655b109ceba0.tar.gz
Use DELAY() instead of _sleep() when SCHEDULER_STOPPED() is set inside
pause_sbt(). This allows pause() to continue working during a panic() which is not invoking KDB. This is useful when debugging graphics drivers using the LinuxKPI. Obtained from: kmacy @ MFC after: 1 week
-rw-r--r--sys/kern/kern_synch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c
index b90caab..55df6a0 100644
--- a/sys/kern/kern_synch.c
+++ b/sys/kern/kern_synch.c
@@ -327,7 +327,7 @@ pause_sbt(const char *wmesg, sbintime_t sbt, sbintime_t pr, int flags)
if (sbt == 0)
sbt = tick_sbt;
- if (cold || kdb_active) {
+ if (cold || kdb_active || SCHEDULER_STOPPED()) {
/*
* We delay one second at a time to avoid overflowing the
* system specific DELAY() function(s):
OpenPOWER on IntegriCloud