aboutsummaryrefslogtreecommitdiffstats
path: root/rc.d/rc.sysinit
diff options
context:
space:
mode:
Diffstat (limited to 'rc.d/rc.sysinit')
-rwxr-xr-xrc.d/rc.sysinit11
1 files changed, 10 insertions, 1 deletions
diff --git a/rc.d/rc.sysinit b/rc.d/rc.sysinit
index f2139626..cb07660c 100755
--- a/rc.d/rc.sysinit
+++ b/rc.d/rc.sysinit
@@ -871,15 +871,24 @@ dmesg -s 131072 > /var/log/dmesg
# create the crash indicator flag to warn on crashes, offer fsck with timeout
touch /.autofsck &> /dev/null
-kill -TERM `/sbin/pidof getkey` >/dev/null 2>&1
+if [ "$PROMPT" != no ]; then
+ while :; do
+ pid=$(/sbin/pidof getkey)
+ [ -n "$pid" -o -e /var/run/getkey_done ] && break
+ usleep 100000
+ done
+ [ -n "$pid" ] && kill -TERM "$pid" >/dev/null 2>&1
+fi
} &
if strstr "$cmdline" confirm ; then
touch /var/run/confirm
fi
if [ "$PROMPT" != "no" ]; then
/sbin/getkey i && touch /var/run/confirm
+ touch /var/run/getkey_done
fi
wait
+[ "$PROMPT" != no ] && rm -f /var/run/getkey_done
# Let rhgb know that we're leaving rc.sysinit
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then