Print this page
1565 svccfg cleanup needs to suck it up and finish the job
*** 833,855 ****
--- 833,862 ----
*/
int
engine_cleanup(int flags)
{
boolean_t activity = B_TRUE;
+ int dont_exit;
int r = -1;
lscf_prep_hndl();
if (flags == 1) {
activity = B_FALSE;
}
+ dont_exit = est->sc_cmd_flags & SC_CMD_DONT_EXIT;
+ est->sc_cmd_flags |= SC_CMD_DONT_EXIT;
+
if (scf_walk_fmri(g_hndl, 0, NULL, SCF_WALK_SERVICE|SCF_WALK_NOINSTANCE,
lscf_service_cleanup, (void *)activity, NULL,
uu_warn) == SCF_SUCCESS)
r = 0;
+ if (dont_exit == 0)
+ est->sc_cmd_flags &= ~SC_CMD_DONT_EXIT;
+
(void) lscf_hash_cleanup();
return (r);
}