diff options
author | ps <ps@FreeBSD.org> | 2000-10-13 21:49:19 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2000-10-13 21:49:19 +0000 |
commit | c099ba410dfb972656823b49d65974e83b4c330f (patch) | |
tree | 1cfa361d7b34b2e961f838bae2645621d37f7eb7 | |
parent | b9beb400175d8d0b8787e52f83a9f653c158d0aa (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | sys/kern/kern_shutdown.c | 3 | ||||
-rw-r--r-- | sys/sys/systm.h | 1 |
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 */ |