SVN: rc-scripts/trunk/rc.d/init.d/functions
glen
glen at pld-linux.org
Thu Nov 1 01:35:53 CET 2007
Author: glen
Date: Thu Nov 1 01:35:53 2007
New Revision: 8923
Modified:
rc-scripts/trunk/rc.d/init.d/functions
Log:
- shell version
Modified: rc-scripts/trunk/rc.d/init.d/functions
==============================================================================
--- rc-scripts/trunk/rc.d/init.d/functions (original)
+++ rc-scripts/trunk/rc.d/init.d/functions Thu Nov 1 01:35:53 2007
@@ -467,18 +467,27 @@
}
_daemon_set_ulimits() {
- eval $(echo "${SERVICE_LIMITS:-$DEFAULT_SERVICE_LIMITS}" | awk -vksh="${KSH_VERSION:+1}" '
- BEGIN {RS="[\n-]"} {
- if ($1) {
- if (ksh) {
- if ($1 == "Su") $1 = "Sp";
- if ($1 == "Hu") $1 = "Hp";
- if ($1 == "u") $1 = "p";
- }
- printf("ulimit -%s %s; ", $1, $2);
- }
- }'
- )
+ local opt val ksh=${KSH_VERSION:+1}
+ set -- ${SERVICE_LIMITS:-$DEFAULT_SERVICE_LIMITS}
+ while [ $# -gt 0 ]; do
+ opt=$1
+ val=$2
+ if [ "$ksh" ]; then
+ case "$opt" in
+ -Hu)
+ opt=-Hp
+ ;;
+ -Su)
+ opt=-Sp
+ ;;
+ -u)
+ opt=-p
+ ;;
+ esac
+ fi
+ ulimit $opt $val
+ shift 2
+ done
}
# A function to start a program (now it's useful on read-only filesystem too)
More information about the pld-cvs-commit
mailing list