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.
|
||||
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
|
||||
for job in $hookdir/initqueue/timeout/*.sh; do
|
||||
|
|
Loading…
Reference in New Issue