98pollcdrom: factored out the ugly cdrom polling in the main loop
parent
4fed3ddf16
commit
74db72dd0b
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||||
|
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||||
|
|
||||||
|
check() {
|
||||||
|
return 255
|
||||||
|
}
|
||||||
|
|
||||||
|
depends() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
inst_hook initqueue/settled 99 "$moddir/pollcdrom.sh"
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||||
|
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||||
|
#
|
||||||
|
# Licensed under the GPLv2
|
||||||
|
#
|
||||||
|
# Copyright 2008-2012, Red Hat, Inc.
|
||||||
|
# Harald Hoyer <harald@redhat.com>
|
||||||
|
|
||||||
|
if [ ! -e /sys/module/block/parameters/events_dfl_poll_msecs ]; then
|
||||||
|
# if the kernel does not support autopolling
|
||||||
|
# then we have to do a
|
||||||
|
# dirty hack for some cdrom drives,
|
||||||
|
# which report no medium for quiet
|
||||||
|
# some time.
|
||||||
|
for cdrom in /sys/block/sr*; do
|
||||||
|
[ -e "$cdrom" ] || continue
|
||||||
|
# skip, if cdrom medium was already found
|
||||||
|
strstr "$(udevadm info --query=env --path=${cdrom##/sys})" \
|
||||||
|
ID_CDROM_MEDIA && continue
|
||||||
|
echo change > "$cdrom/uevent"
|
||||||
|
done
|
||||||
|
fi
|
|
@ -199,20 +199,6 @@ while :; do
|
||||||
# no more udev jobs and queues empty.
|
# no more udev jobs and queues empty.
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
|
|
||||||
if [ ! -e /sys/module/block/parameters/events_dfl_poll_msecs ]; then
|
|
||||||
# if the kernel does not support autopolling
|
|
||||||
# then we have to do a
|
|
||||||
# dirty hack for some cdrom drives,
|
|
||||||
# which report no medium for quiet
|
|
||||||
# some time.
|
|
||||||
for cdrom in /sys/block/sr*; do
|
|
||||||
[ -e "$cdrom" ] || continue
|
|
||||||
# skip, if cdrom medium was already found
|
|
||||||
strstr "$(udevadm info --query=env --path=${cdrom##/sys})" \
|
|
||||||
ID_CDROM_MEDIA && continue
|
|
||||||
echo change > "$cdrom/uevent"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $main_loop -gt $(($RDRETRY/2)) ]; then
|
if [ $main_loop -gt $(($RDRETRY/2)) ]; then
|
||||||
for job in $hookdir/initqueue/timeout/*.sh; do
|
for job in $hookdir/initqueue/timeout/*.sh; do
|
||||||
|
|
Loading…
Reference in New Issue