diff --git a/src/lib66/svc/svc_unsupervise.c b/src/lib66/svc/svc_unsupervise.c index 376c97d1dcc086316d4c864a10b7cbaafb695beb..b9da67ffbce97311e88af1983559a98207620ac8 100644 --- a/src/lib66/svc/svc_unsupervise.c +++ b/src/lib66/svc/svc_unsupervise.c @@ -26,12 +26,20 @@ static void sanitize_it(resolve_service_t *res) { log_flow() ; + + ss_state_t sta = STATE_ZERO ; sanitize_fdholder(res, STATE_FLAGS_FALSE) ; - if (!state_messenger(res, STATE_FLAGS_TOUNSUPERVISE, STATE_FLAGS_TRUE)) - log_dieusys(LOG_EXIT_SYS, "send message to state of: ", res->sa.s + res->name) ; + if (!state_read(&sta, res)) + log_dieu(LOG_EXIT_SYS, "read state file of: ", res->sa.s + res->name) ; + state_set_flag(&sta, STATE_FLAGS_TOUNSUPERVISE, STATE_FLAGS_TRUE) ; + state_set_flag(&sta, STATE_FLAGS_ISUP, STATE_FLAGS_FALSE) ; + + if (!state_write(&sta, res)) + log_dieu(LOG_EXIT_SYS, "write state file of: ", res->sa.s + res->name) ; + sanitize_scandir(res) ; sanitize_livestate(res) ;