Lines Matching refs:rip
715 restarter_inst_t *rip; in restarter_delete_inst() local
730 rip = uu_list_find(instance_list.ril_instance_list, &id, NULL, NULL); in restarter_delete_inst()
731 if (rip == NULL) { in restarter_delete_inst()
736 assert(ri == rip); in restarter_delete_inst()
1250 restarter_inst_t *rip; in stop_instance_fmri() local
1253 rip = inst_lookup_by_name(fmri); in stop_instance_fmri()
1254 if (rip == NULL) in stop_instance_fmri()
1257 r = stop_instance(h, rip, flags); in stop_instance_fmri()
1259 MUTEX_UNLOCK(&rip->ri_lock); in stop_instance_fmri()
1265 unmaintain_instance(scf_handle_t *h, restarter_inst_t *rip, in unmaintain_instance() argument
1275 assert(MUTEX_HELD(&rip->ri_lock)); in unmaintain_instance()
1277 if (rip->ri_i.i_state != RESTARTER_STATE_MAINT) { in unmaintain_instance()
1280 "maintenance state.\n", rip->ri_i.i_fmri); in unmaintain_instance()
1301 log_instance(rip, B_TRUE, "Leaving maintenance because %s.", in unmaintain_instance()
1304 "%s.\n", rip->ri_i.i_fmri, cp); in unmaintain_instance()
1306 (void) restarter_instance_update_states(h, rip, RESTARTER_STATE_UNINIT, in unmaintain_instance()
1313 if (rip->ri_i.i_primary_ctid == 0) in unmaintain_instance()
1316 ctid = rip->ri_i.i_primary_ctid; in unmaintain_instance()
1318 rip->ri_i.i_primary_ctid = 0; in unmaintain_instance()
1321 switch (r = libscf_fmri_get_instance(h, rip->ri_i.i_fmri, &inst)) { in unmaintain_instance()
1369 rip->ri_i.i_fmri, strerror(r)); in unmaintain_instance()
1566 event_from_tty(scf_handle_t *h, restarter_inst_t *rip) in event_from_tty() argument
1571 if (libscf_fmri_get_instance(h, rip->ri_i.i_fmri, &inst)) in event_from_tty()
1581 restart_dump(scf_handle_t *h, restarter_inst_t *rip) in restart_dump() argument
1586 if (libscf_fmri_get_instance(h, rip->ri_i.i_fmri, &inst)) in restart_dump()
1597 maintain_instance(scf_handle_t *h, restarter_inst_t *rip, int immediate, in maintain_instance() argument
1603 assert(MUTEX_HELD(&rip->ri_lock)); in maintain_instance()
1605 assert(rip->ri_method_thread == 0); in maintain_instance()
1607 log_instance(rip, B_TRUE, "Stopping for maintenance due to %s.", in maintain_instance()
1610 rip->ri_i.i_fmri, restarter_get_str_short(reason)); in maintain_instance()
1613 if (rip->ri_i.i_state == RESTARTER_STATE_MAINT) { in maintain_instance()
1616 rip->ri_i.i_fmri); in maintain_instance()
1626 libscf_fmri_get_instance(h, rip->ri_i.i_fmri, &scf_inst) == 0) { in maintain_instance()
1631 rip->ri_i.i_fmri); in maintain_instance()
1635 "failed: ", rip->ri_i.i_fmri); in maintain_instance()
1640 rip->ri_i.i_fmri); in maintain_instance()
1645 if (immediate || !instance_started(rip)) { in maintain_instance()
1646 if (rip->ri_i.i_primary_ctid != 0) { in maintain_instance()
1647 rip->ri_m_inst = safe_scf_instance_create(h); in maintain_instance()
1648 rip->ri_mi_deleted = B_FALSE; in maintain_instance()
1650 libscf_reget_instance(rip); in maintain_instance()
1651 method_remove_contract(rip, B_TRUE, B_TRUE); in maintain_instance()
1653 scf_instance_destroy(rip->ri_m_inst); in maintain_instance()
1656 (void) restarter_instance_update_states(h, rip, in maintain_instance()
1662 (void) restarter_instance_update_states(h, rip, rip->ri_i.i_state, in maintain_instance()
1665 log_transition(rip, MAINT_REQUESTED); in maintain_instance()
1668 info->sf_id = rip->ri_id; in maintain_instance()
1672 rip->ri_method_thread = startd_thread_create(method_thread, info); in maintain_instance()
1676 refresh_instance(scf_handle_t *h, restarter_inst_t *rip) in refresh_instance() argument
1683 assert(MUTEX_HELD(&rip->ri_lock)); in refresh_instance()
1685 log_instance(rip, B_TRUE, "Rereading configuration."); in refresh_instance()
1687 rip->ri_i.i_fmri); in refresh_instance()
1690 r = libscf_fmri_get_instance(h, rip->ri_i.i_fmri, &inst); in refresh_instance()
1711 r = libscf_get_startd_properties(inst, snap, &rip->ri_flags, in refresh_instance()
1712 &rip->ri_utmpx_prefix); in refresh_instance()
1716 rip->ri_i.i_fmri, service_style(rip->ri_flags)); in refresh_instance()
1734 if (instance_started(rip)) { in refresh_instance()
1736 (void) restarter_instance_update_states(h, rip, in refresh_instance()
1737 rip->ri_i.i_state, rip->ri_i.i_state, RERR_NONE, in refresh_instance()
1741 info->sf_id = rip->ri_id; in refresh_instance()
1746 assert(rip->ri_method_thread == 0); in refresh_instance()
1747 rip->ri_method_thread = in refresh_instance()
1756 degrade_instance(scf_handle_t *h, restarter_inst_t *rip, restarter_str_t reason) in degrade_instance() argument
1760 assert(MUTEX_HELD(&rip->ri_lock)); in degrade_instance()
1762 log_instance(rip, B_TRUE, "Marking degraded due to %s.", in degrade_instance()
1765 rip->ri_i.i_fmri, restarter_get_str_short(reason)); in degrade_instance()
1768 if (rip->ri_i.i_state != RESTARTER_STATE_ONLINE) { in degrade_instance()
1771 rip->ri_i.i_fmri); in degrade_instance()
1781 libscf_fmri_get_instance(h, rip->ri_i.i_fmri, &scf_inst) == 0) { in degrade_instance()
1786 rip->ri_i.i_fmri); in degrade_instance()
1791 "failed: ", rip->ri_i.i_fmri); in degrade_instance()
1796 rip->ri_i.i_fmri); in degrade_instance()
1802 (void) restarter_instance_update_states(h, rip, in degrade_instance()
1805 log_transition(rip, DEGRADE_REQUESTED); in degrade_instance()
1833 restarter_inst_t *rip; in restarter_process_events() local
1844 rip = inst_lookup_queue(fmri); in restarter_process_events()
1845 if (rip == NULL) in restarter_process_events()
1850 while ((event = uu_list_first(rip->ri_queue)) != NULL) { in restarter_process_events()
1854 MUTEX_UNLOCK(&rip->ri_queue_lock); in restarter_process_events()
1980 rip = inst_lookup_queue(fmri); in restarter_process_events()
1981 if (rip == NULL) in restarter_process_events()
1985 uu_list_remove(rip->ri_queue, event); in restarter_process_events()
1989 assert(rip != NULL); in restarter_process_events()
1996 (void) pthread_cond_reltimedwait_np(&rip->ri_queue_cv, in restarter_process_events()
1997 &rip->ri_queue_lock, &to); in restarter_process_events()
1999 if (uu_list_first(rip->ri_queue) != NULL) in restarter_process_events()
2002 rip->ri_queue_thread = 0; in restarter_process_events()
2003 MUTEX_UNLOCK(&rip->ri_queue_lock); in restarter_process_events()
2082 restarter_inst_t *rip; in restarter_event_thread() local
2112 rip = inst_lookup_queue(e->rpe_inst); in restarter_event_thread()
2113 if (rip == NULL) { in restarter_event_thread()
2123 uu_list_numnodes(rip->ri_queue) > in restarter_event_thread()
2125 MUTEX_UNLOCK(&rip->ri_queue_lock); in restarter_event_thread()
2126 log_instance(rip, B_TRUE, "Instance event " in restarter_event_thread()
2131 "request.\n", rip->ri_i.i_fmri); in restarter_event_thread()
2136 restarter_queue_event(rip, e); in restarter_event_thread()
2138 if (rip->ri_queue_thread == 0) { in restarter_event_thread()
2144 rip->ri_queue_thread = startd_thread_create( in restarter_event_thread()
2152 &rip->ri_queue_cv); in restarter_event_thread()
2155 MUTEX_UNLOCK(&rip->ri_queue_lock); in restarter_event_thread()