diff --git a/etc/init.d/snail b/etc/init.d/snail index 5a76fb1..87e12ab 100755 --- a/etc/init.d/snail +++ b/etc/init.d/snail @@ -21,7 +21,7 @@ start() { stop() { ebegin "Stopping bumblebee nVidia Optimus" - kill `cat $PIDFILE 2>&1` > /dev/null 2>&1 ; sleep 1 ; kill -9 `cat $PIDFILE 2>&1` > /dev/null 2>&1 + kill `cat $PIDFILE 2>&1` > /dev/null 2>&1 snail.nv_pwr_off || eend -1 eend $result } diff --git a/usr/local/bin/nvrun b/usr/local/bin/nvrun index 853e8f7..18f363e 100755 --- a/usr/local/bin/nvrun +++ b/usr/local/bin/nvrun @@ -4,17 +4,19 @@ LOCK_FILE=/tmp/.snail.nvrun.lock NVRUN=/usr/local/bin/nvrun ( - for i in `seq 8`; do + for i in `seq 16`; do flock -n 9 + status=$? - if [[ 0 -ne $? && 5 -eq $i ]]; then + if [[ 0 -ne $status && 5 -eq $i ]]; then echo "Cann't lock $COUNT_FILE. Exiting..." exit -1 - elif [ 0 -eq $? ]; then + elif [ 0 -eq $status ]; then break fi + echo sleep 1 sleep 1 done @@ -30,17 +32,19 @@ NVRUN=/usr/local/bin/nvrun snail.nvrun "$@" ( - for i in `seq 8`; do + for i in `seq 16`; do flock -n 9 + status=$? - if [[ 0 -ne $? && 5 -eq $i ]]; then + if [[ 0 -ne $status && 5 -eq $i ]]; then echo "Cann't lock $COUNT_FILE. Exiting..." exit -1 - elif [ 0 -eq $? ]; then + elif [ 0 -eq $status ]; then break fi + echo sleep 1 aaa sleep 1 done diff --git a/usr/local/sbin/snail.autostop b/usr/local/sbin/snail.autostop index ad7dfb3..bb8a023 100755 --- a/usr/local/sbin/snail.autostop +++ b/usr/local/sbin/snail.autostop @@ -9,17 +9,19 @@ while [ 1 ]; do if [ 0 -ne $? ]; then ( - for i in `seq 16`; do + for i in `seq 32`; do flock -n 9 + status=$? - if [[ 0 -ne $? && 5 -eq $i ]]; then + if [[ 0 -ne $status && 5 -eq $i ]]; then echo "Cann't lock $COUNT_FILE. Exiting..." exit -1 - elif [ 0 -eq $? ]; then + elif [ 0 -eq $status ]; then break fi + echo sleep 1 sleep 1 done @@ -30,6 +32,7 @@ while [ 1 ]; do ) 9>$LOCK_FILE ; exit $? fi + echo sleep 1 sleep 1 done