diff options
Diffstat (limited to 'rc.d/rc.sysinit')
-rwxr-xr-x | rc.d/rc.sysinit | 11 |
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 |