diff options
author | gordon <gordon@FreeBSD.org> | 2002-06-13 22:14:37 +0000 |
---|---|---|
committer | gordon <gordon@FreeBSD.org> | 2002-06-13 22:14:37 +0000 |
commit | 9c5433cb225f7a4e56e87623ea2e4011179553a5 (patch) | |
tree | 3168589e209abd888b033397e3c46dee6131a116 /etc/rc.d/savecore | |
parent | 50d99cdfecd92f5323a18aa791a5b1cb9d8b7191 (diff) | |
download | FreeBSD-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-x | etc/rc.d/savecore | 62 |
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 |