summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2000-10-13 21:49:19 +0000
committerps <ps@FreeBSD.org>2000-10-13 21:49:19 +0000
commitc099ba410dfb972656823b49d65974e83b4c330f (patch)
tree1cfa361d7b34b2e961f838bae2645621d37f7eb7
parentb9beb400175d8d0b8787e52f83a9f653c158d0aa (diff)
downloadFreeBSD-src-c099ba410dfb972656823b49d65974e83b4c330f.zip
FreeBSD-src-c099ba410dfb972656823b49d65974e83b4c330f.tar.gz
Do not allocate a callout for all crashdumps, not just when you panic.
-rw-r--r--sys/dev/ata/ata-disk.c2
-rw-r--r--sys/kern/kern_shutdown.c3
-rw-r--r--sys/sys/systm.h1
3 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index fcfe377..f53eca0 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.c
@@ -388,7 +388,7 @@ ad_transfer(struct ad_request *request)
if (request->donecount == 0) {
/* start timeout for this transfer */
- if (panicstr)
+ if (dumping)
request->timeout_handle.callout = NULL;
else
request->timeout_handle =
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index 01e99ea..eda2620 100644
--- a/sys/kern/kern_shutdown.c
+++ b/sys/kern/kern_shutdown.c
@@ -109,6 +109,8 @@ watchdog_tickle_fn wdog_tickler = NULL;
*/
const char *panicstr;
+int dumping; /* system is dumping */
+
static void boot(int) __dead2;
static void dumpsys(void);
static void poweroff_wait(void *, int);
@@ -469,7 +471,6 @@ static void
dumpsys(void)
{
int error;
- static int dumping;
savectx(&dumppcb);
#ifdef __i386__
diff --git a/sys/sys/systm.h b/sys/sys/systm.h
index d5f3eb3..a5836f3 100644
--- a/sys/sys/systm.h
+++ b/sys/sys/systm.h
@@ -50,6 +50,7 @@ extern int securelevel; /* system security level (see init(8)) */
extern int cold; /* nonzero if we are doing a cold boot */
extern const char *panicstr; /* panic message */
+extern int dumping; /* system is dumping */
extern int safepri; /* safe ipl when cold or panicing */
extern char version[]; /* system version */
extern char copyright[]; /* system copyright */
OpenPOWER on IntegriCloud