aboutsummaryrefslogtreecommitdiff
path: root/etc.BSD/rc
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-09-20 22:45:16 +0000
committerRoy Marples <roy@marples.name>2007-09-20 22:45:16 +0000
commitca58877ed06b259ce37a6240746c733d47b0a179 (patch)
tree11873b159360a75ea7b2a4b22a81c2dba35336b6 /etc.BSD/rc
parent963229dce839c4b144c1819f60cfeef788b35160 (diff)
Harden startup and shutdown
Diffstat (limited to 'etc.BSD/rc')
-rw-r--r--etc.BSD/rc14
1 files changed, 7 insertions, 7 deletions
diff --git a/etc.BSD/rc b/etc.BSD/rc
index f9f76b87..1bf06e32 100644
--- a/etc.BSD/rc
+++ b/etc.BSD/rc
@@ -7,7 +7,11 @@
# If $TERM is not set then assume default of cons25
# This gives us a nice colour boot :)
-[ -z "$TERM" ] && export TERM="cons25"
+[ -z "$TERM" -o "$TERM" = "dumb" ] && export TERM="cons25"
+
+# Handle interupts
+trap : SIGINT
+trap "echo 'Boot interrupted'; exit 1" SIGQUIT
# BSD's init works somewhat differently to sysvinit.
# This block should 'translate' from the way init calls it to the way it would
@@ -16,10 +20,6 @@ RUNLEVEL="1" /sbin/rc sysinit || exit 1
RUNLEVEL="1" /sbin/rc boot || exit 1
PREVLEVEL="1" /sbin/rc default
-# If we return non zero after starting rc then 2 things may happen
-# 1) We get the message "init: can't get /dev/console for controlling terminal"
-# every few seconds
-# 2) We get no error and console freezes.
-# This is probably a bug somewhere in rc, but until that is fixed we have to
-# return 0.
+# We don't actually care if rc default worked or not, we should exit 0
+# to allow logins
exit 0