diff --git a/src/lib66/exec/ssexec_reconfigure.c b/src/lib66/exec/ssexec_reconfigure.c index d8b8ad838a4169cea37722d840f589b6d4d93e48..b1bd0adf73224fd2fef7472f6248fa3da2b1f3cc 100644 --- a/src/lib66/exec/ssexec_reconfigure.c +++ b/src/lib66/exec/ssexec_reconfigure.c @@ -79,9 +79,6 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info) if (argc < 1) log_usage(info->usage, "\n", info->help) ; - if ((svc_scandir_ok(info->scandir.s)) != 1 ) - log_diesys(LOG_EXIT_SYS,"scandir: ", info->scandir.s, " is not running") ; - /** build the graph of the entire system */ graph_build_service(&graph, ares, &areslen, info, flag) ; @@ -121,7 +118,11 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info) } } - if (nservice) { + r = svc_scandir_ok(info->scandir.s) ; + if (r < 0) + log_dieusys(LOG_EXIT_SYS, "check: ", info->scandir.s) ; + + if (nservice && r) { /** We need to search in every tree to stop the service * if the user has specified a specific tree. Therefore, remove @@ -168,7 +169,7 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info) for (n = 0 ; n < argc ; n++) sanitize_source(argv[n], info) ; - if (nservice) { + if (nservice && r) { unsigned int m = 0 ; int nargc = 2 + nservice + siglen ;