+ local service_path_=""
+ service_path_="${INITD_DIR__}/$service_"
+ if [ ! -e "$service_path_" ]; then
+ warn "_touchService(): service does not exist: \"$service_\""
+ return 1
+ fi
+ if [ ! -x "$service_path_" ]; then
+ warn "_touchService(): service is not executable: \"$service_\""
+ fi
+
+ local ret_=""
+ "$service_path_" "$action_"
+ ret_=$?
+ if [ "$ret_" != "0" ]; then
+ if [ -z "$message_" ]; then
+ "$error_function_" "Problems ${action_}ing service \"$service_\"" $ret_
+ else
+ "$error_function_" "$message_" $ret_
+ fi
+ return 1
+ fi
+ dprint "_touchService(): successfully started service \"$service_\""
+ return 0
+}
+
+_createServiceFunctions()
+{
+ for i in "start" "stop" "restart" "reload"; do
+ eval "${i}Service() { _touchService ${i} \"\$1\" \"\$2\" \"\$3\"; }"
+ done
+ eval "forceReloadService() { _touchService force-reload \"\$1\" \"\$2\" \"\$3\"; }"
+}
+_createServiceFunctions
+# }}}
+
+# LOSETUP HELPER FUNCTION {{{
+# print next free /dev/loop* to stdout
+findNextFreeLoop()