aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Kaspar [Dee'Kej] <dkaspar@redhat.com>2017-07-21 11:25:28 +0200
committerDee'Kej <deekej@linuxmail.org>2017-10-31 12:36:19 +0100
commit3e3ff2ac3d89cd626d88b3043c7f7234dec4d4e1 (patch)
tree62bdbc24bcb1f1d85fdae30cf4cd9981b8a5f91d
parent2d35da4d458b5b9e7f6f2dd71b154286363ddf66 (diff)
downloadinitscripts-3e3ff2ac3d89cd626d88b3043c7f7234dec4d4e1.tar
initscripts-3e3ff2ac3d89cd626d88b3043c7f7234dec4d4e1.tar.gz
initscripts-3e3ff2ac3d89cd626d88b3043c7f7234dec4d4e1.tar.bz2
initscripts-3e3ff2ac3d89cd626d88b3043c7f7234dec4d4e1.tar.xz
initscripts-3e3ff2ac3d89cd626d88b3043c7f7234dec4d4e1.zip
init.d/functions: convert2sec() function added
And network-scripts/network-functions was patched to use convert2sec(). This function can be used to convert the value of its first parameter to a number of seconds - based on the time unit (specified as the second parameter). This is mostly useful for converting values for use with the sleep(1).
-rw-r--r--rc.d/init.d/functions16
-rw-r--r--sysconfig/network-scripts/network-functions2
2 files changed, 17 insertions, 1 deletions
diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
index 6eb183f1..e5ffb7f2 100644
--- a/rc.d/init.d/functions
+++ b/rc.d/init.d/functions
@@ -625,6 +625,22 @@ is_ignored_file() {
return 1
}
+# Convert the value ${1} of time unit ${2}-seconds into seconds:
+convert2sec() {
+ local retval=""
+
+ case "${2}" in
+ deci) retval=$(awk "BEGIN {printf \"%.1f\", ${1} / 10}") ;;
+ centi) retval=$(awk "BEGIN {printf \"%.2f\", ${1} / 100}") ;;
+ mili) retval=$(awk "BEGIN {printf \"%.3f\", ${1} / 1000}") ;;
+ micro) retval=$(awk "BEGIN {printf \"%.6f\", ${1} / 1000000}") ;;
+ nano) retval=$(awk "BEGIN {printf \"%.9f\", ${1} / 1000000000}") ;;
+ piko) retval=$(awk "BEGIN {printf \"%.12f\", ${1} / 1000000000000}") ;;
+ esac
+
+ echo "${retval}"
+}
+
# Evaluate shvar-style booleans
is_true() {
case "$1" in
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions
index d72901ea..145ef27c 100644
--- a/sysconfig/network-scripts/network-functions
+++ b/sysconfig/network-scripts/network-functions
@@ -198,7 +198,7 @@ ethtool_set()
IFS=';';
if [ -n "${ETHTOOL_DELAY}" ]; then
# Convert microseconds to seconds:
- local ETHTOOL_DELAY_SEC=$(awk "BEGIN {printf \"%f\", ${ETHTOOL_DELAY} / 1000000}")
+ local ETHTOOL_DELAY_SEC=$(convert2sec ${ETHTOOL_DELAY} micro)
sleep ${ETHTOOL_DELAY_SEC}
fi
for opts in $ETHTOOL_OPTS ; do