File i4l_suse-sleep.diff of Package i4l-base
--- etc/sysconfig/isdn/scripts/load-avmusb
+++ etc/sysconfig/isdn/scripts/load-avmusb 2009-04-30 15:12:46.177901975 +0200
@@ -2,11 +2,10 @@
test "$DSL_CONTR" = "dslonly" || /sbin/modprobe --ignore-install isdn
/sbin/modprobe --ignore-install kernelcapi >& /dev/null
/sbin/modprobe --ignore-install capi >& /dev/null
-tout=0
-while [ $tout -le 10 ] ; do
- test -e /dev/capi/31 && break;
- sleep 1
- tout=$(($tout + 1))
+typeset -i tout=0
+while ((tout++ < 400)) ; do
+ test -e /dev/capi/31 && break
+ usleep 25000
done
/sbin/modprobe --ignore-install $DRV >& /dev/null
if [ "$DSL_CONTR" = "dslonly" ]; then
--- etc/sysconfig/isdn/scripts/load-capi
+++ etc/sysconfig/isdn/scripts/load-capi 2009-04-30 15:14:18.616916761 +0200
@@ -9,11 +9,10 @@ if [ -z "$LOAD_CAPI" ]; then
/sbin/modprobe capi >& /dev/null
RET=$?
if [ $RET -eq 0 ]; then
- tout=0
- while [ $tout -le 10 ] ; do
+ typeset -i tout=0
+ while ((tout++ < 400)) ; do
test -e /dev/capi/31 && break;
- sleep 1
- tout=$(($tout + 1))
+ usleep 25000
done
else
/sbin/modprobe -r kernelcapi
--- etc/sysconfig/isdn/scripts/load-fcdslsl
+++ etc/sysconfig/isdn/scripts/load-fcdslsl 2009-04-30 15:12:52.454692113 +0200
@@ -1,11 +1,10 @@
#!/bin/bash
/sbin/modprobe kernelcapi >& /dev/null
/sbin/modprobe capi >& /dev/null
-tout=0
-while [ $tout -le 10 ] ; do
- test -e /dev/capi/31 && break;
- sleep 1
- tout=$(($tout + 1))
+typeset -i tout=0
+while ((tout++ < 400)) ; do
+ test -e /dev/capi/31 && break
+ usleep 25000
done
/sbin/modprobe --ignore-install $DRV >& /dev/null
CONTR=${CONTR:-0}
--- etc/sysconfig/network/scripts/ifup-isdn
+++ etc/sysconfig/network/scripts/ifup-isdn 2009-04-30 15:09:20.677901019 +0200
@@ -396,14 +396,18 @@ EOT
#
if [ "$ENCAP" = "syncppp" ] ; then
PIDFILE=/var/run/ipppd.${DEVICE}.pid
- test -s $PIDFILE && kill -15 `cat $PIDFILE` 2>/dev/null
- sleep 0
if [ -s $PIDFILE ] ; then
- sleep 2
- if test -s $PIDFILE; then
- # very stubborn :-(
- kill -9 `cat $PIDFILE` 2>/dev/null
- fi
+ read -t 1 PID < $PIDFILE
+ kill -15 $PID 2>/dev/null
+ fi
+ for ((count=0; count<120; count++)) ; do
+ [ -s $PIDFILE ] || break;
+ usleep 25000
+ done
+ if [ -s $PIDFILE ] ; then
+ # very stubborn :-(
+ kill -9 $PID
+ rm -f $PIDFILE
fi
PROVIDERLOCK=/var/run/ipppd.${DEVICE}.provider
if [ -s $PROVIDERLOCK ]; then