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); }