From 9c5433cb225f7a4e56e87623ea2e4011179553a5 Mon Sep 17 00:00:00 2001 From: gordon Date: Thu, 13 Jun 2002 22:14:37 +0000 Subject: 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 Reviewed by: silence on -current and -hackers Prodded by: rwatson --- etc/rc.d/savecore | 62 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 9 deletions(-) (limited to 'etc/rc.d/savecore') 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 -- cgit v1.1