summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/savecore
diff options
context:
space:
mode:
authorgordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
committergordon <gordon@FreeBSD.org>2002-06-13 22:14:37 +0000
commit9c5433cb225f7a4e56e87623ea2e4011179553a5 (patch)
tree3168589e209abd888b033397e3c46dee6131a116 /etc/rc.d/savecore
parent50d99cdfecd92f5323a18aa791a5b1cb9d8b7191 (diff)
downloadFreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.zip
FreeBSD-src-9c5433cb225f7a4e56e87623ea2e4011179553a5.tar.gz
Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next. Submitted by: Mike Makonnen <makonnen@pacbell.net> Reviewed by: silence on -current and -hackers Prodded by: rwatson
Diffstat (limited to 'etc/rc.d/savecore')
-rwxr-xr-xetc/rc.d/savecore62
1 files changed, 53 insertions, 9 deletions
diff --git a/etc/rc.d/savecore b/etc/rc.d/savecore
index 5b6e115..21a6a4b 100755
--- a/etc/rc.d/savecore
+++ b/etc/rc.d/savecore
@@ -1,29 +1,73 @@
#!/bin/sh
#
-# $NetBSD: savecore,v 1.2 2000/05/13 08:45:09 lukem Exp $
+# $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $
+# $FreeBSD$
#
# PROVIDE: savecore
# REQUIRE: syslogd
+# BEFORE: SERVERS
+# KEYWORD: FreeBSD NetBSD
. /etc/rc.subr
name="savecore"
-rcvar=$name
start_cmd="savecore_start"
+start_precmd="savecore_prestart"
stop_cmd=":"
-savecore_start()
+case `${CMD_OSTYPE}` in
+NetBSD)
+ rcvar=$name
+ ;;
+esac
+
+savecore_prestart()
{
- # /var/crash should be a directory or a symbolic link
+ # ${DUMPDIR} should be a directory or a symbolic link
# to the crash directory if core dumps are to be saved.
#
- if [ -d /var/crash/. ]; then
+ DUMPDIR="${dumpdir:-/var/crash}"
+
+ case `${CMD_OSTYPE}` in
+ FreeBSD)
+ # Quit if we have no dump device
+ case ${dumpdev} in
+ [Nn][Oo] | '')
+ debug 'No dump device. Quitting.'
+ return 1
+ ;;
+ esac
+
+ # If there is no crash directory set it now
+ case ${dumpdir} in
+ '')
+ dumpdir='/var/crash'
+ ;;
+ [Nn][Oo])
+ dumpdir='NO'
+ ;;
+ esac
+
+ if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then
+ warn "Wrong dump device or directory. Savecore not run."
+ return 1
+ fi
+ ;;
+ NetBSD)
+ if [ ! -d "${dumpdir}" ]; then
+ warn "No /var/crash directory; savecore not run."
+ return 1
+ fi
+ ;;
+ esac
+ return 0
+}
+
+savecore_start()
+{
echo "Checking for core dump..."
- savecore $savecore_flags /var/crash
- else
- warn "No /var/crash directory; savecore not run."
- fi
+ savecore ${savecore_flags} ${DUMPDIR}
}
load_rc_config $name
OpenPOWER on IntegriCloud