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
openSUSE Build Service is sponsored by