]> git.pld-linux.org Git - packages/php-dirs.git/commitdiff
revert 37fa3e2, gc_time is not dependant on cleaned up dir
authorElan Ruusamäe <glen@delfi.ee>
Thu, 11 Dec 2014 13:18:42 +0000 (15:18 +0200)
committerElan Ruusamäe <glen@delfi.ee>
Thu, 11 Dec 2014 13:18:42 +0000 (15:18 +0200)
add function for readability

php-session.sh

index a12c1a68b39f512f61954a34647ab2b9235d62d1..81f90bcf90130f256638c0898f5c72d1ae15a0b8 100755 (executable)
@@ -2,28 +2,12 @@
 
 [ -x /usr/sbin/tmpwatch ] || exit 0
 
-for session_dir in /var/run/php /var/run/php-ug; do
-       [ ! -d "$session_dir" ] && continue
-
-       # find minimum gc time from any of the php engines
-       gc_time=0
-       for php in php php4 php52 php53 php54 php55; do
-               gc=
-               if [ -x /usr/bin/$php ]; then
-                       gc=$($php -r 'echo max(round(ini_get("session.gc_maxlifetime")/3600), 1);' 2> /dev/null)
-               elif [ -r /etc/$php/php.ini ]; then
-                       gc=$(awk -F"=" '/^session.gc_maxlifetime[ \t]*=/ { t=sprintf("%d", ($2/3600)); if (t<1) { t=1; }; print t; exit;}' /etc/$php/php.ini)
-               fi
-               [ -n "$gc" ] || continue
-
-               if [ "$gc" -lt "$gc_time" ] || [ $gc_time -eq 0 ]; then
-                       gc_time=$gc
-               fi
-       done
+session_dirs="/var/run/php /var/run/php-ug"
 
-       [ $gc_time -gt 0 ] || continue
+# use tmpwatch with --test to remove only files matching to 'sess_*' pattern
+cleanup_dir() {
+       local session_dir=$1
 
-       # use tmpwatch with --test to remove only files matching to 'sess_*' pattern
        /usr/sbin/tmpwatch $gc_time $session_dir --test | while read action type file; do
                case "$action $type $file" in
                'removing file '*/sess_*)
@@ -31,4 +15,26 @@ for session_dir in /var/run/php /var/run/php-ug; do
                        ;;
                esac
        done
+}
+
+# find minimum gc time from any of the php engines
+gc_time=0
+for php in php php4 php52 php53 php54 php55; do
+       gc=
+       if [ -x /usr/bin/$php ]; then
+               gc=$($php -r 'echo max(round(ini_get("session.gc_maxlifetime")/3600), 1);' 2> /dev/null)
+       elif [ -r /etc/$php/php.ini ]; then
+               gc=$(awk -F"=" '/^session.gc_maxlifetime[ \t]*=/ { t=sprintf("%d", ($2/3600)); if (t<1) { t=1; }; print t; exit;}' /etc/$php/php.ini)
+       fi
+       [ -n "$gc" ] || continue
+
+       if [ "$gc" -lt "$gc_time" ] || [ $gc_time -eq 0 ]; then
+               gc_time=$gc
+       fi
+done
+
+[ $gc_time -gt 0 ] || exit 0
+
+for session_dir in $session_dirs; do
+       cleanup_dir $session_dir
 done
This page took 0.074911 seconds and 4 git commands to generate.