Lines Matching refs:mir

992 #define	MIR_SVC_QUIESCED(mir)	\  argument
993 (mir->mir_ref_cnt == 0 && mir->mir_inrservice == 0)
1045 mir_timer_stop(mir_t *mir) in mir_timer_stop() argument
1049 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_timer_stop()
1060 while (mir->mir_timer_call) in mir_timer_stop()
1061 cv_wait(&mir->mir_timer_cv, &mir->mir_mutex); in mir_timer_stop()
1062 mir->mir_timer_call = B_TRUE; in mir_timer_stop()
1064 if ((tid = mir->mir_timer_id) != 0) { in mir_timer_stop()
1065 mir->mir_timer_id = 0; in mir_timer_stop()
1066 mutex_exit(&mir->mir_mutex); in mir_timer_stop()
1068 mutex_enter(&mir->mir_mutex); in mir_timer_stop()
1070 mir->mir_timer_call = B_FALSE; in mir_timer_stop()
1071 cv_broadcast(&mir->mir_timer_cv); in mir_timer_stop()
1075 mir_timer_start(queue_t *q, mir_t *mir, clock_t intrvl) in mir_timer_start() argument
1079 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_timer_start()
1081 while (mir->mir_timer_call) in mir_timer_start()
1082 cv_wait(&mir->mir_timer_cv, &mir->mir_mutex); in mir_timer_start()
1083 mir->mir_timer_call = B_TRUE; in mir_timer_start()
1085 if ((tid = mir->mir_timer_id) != 0) { in mir_timer_start()
1086 mutex_exit(&mir->mir_mutex); in mir_timer_start()
1088 mutex_enter(&mir->mir_mutex); in mir_timer_start()
1091 if (!mir->mir_closing) { in mir_timer_start()
1092 mir->mir_timer_id = timeout(mir_timer, q, in mir_timer_start()
1095 mir->mir_timer_call = B_FALSE; in mir_timer_start()
1096 cv_broadcast(&mir->mir_timer_cv); in mir_timer_start()
1125 mir_t *mir = q->q_ptr; in mir_close() local
1130 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_close()
1131 mutex_enter(&mir->mir_mutex); in mir_close()
1132 if ((mp = mir->mir_head_mp) != NULL) { in mir_close()
1133 mir->mir_head_mp = NULL; in mir_close()
1134 mir->mir_tail_mp = NULL; in mir_close()
1141 mir->mir_closing = B_TRUE; in mir_close()
1142 mir_timer_stop(mir); in mir_close()
1144 if (mir->mir_type == RPC_SERVER) { in mir_close()
1151 mir_svc_start_close(WR(q), mir); in mir_close()
1153 while ((!MIR_SVC_QUIESCED(mir)) || mir->mir_inwservice == 1) { in mir_close()
1155 if (mir->mir_ref_cnt && !mir->mir_inrservice && in mir_close()
1160 mutex_exit(&mir->mir_mutex); in mir_close()
1163 mutex_enter(&mir->mir_mutex); in mir_close()
1173 if (mir->mir_inwservice == 1) in mir_close()
1176 cv_wait(&mir->mir_condvar, &mir->mir_mutex); in mir_close()
1179 mutex_exit(&mir->mir_mutex); in mir_close()
1185 mutex_exit(&mir->mir_mutex); in mir_close()
1189 mutex_destroy(&mir->mir_mutex); in mir_close()
1190 cv_destroy(&mir->mir_condvar); in mir_close()
1191 cv_destroy(&mir->mir_timer_cv); in mir_close()
1192 kmem_free(mir, sizeof (mir_t)); in mir_close()
1202 mir_svc_idle_stop(queue_t *q, mir_t *mir) in mir_svc_idle_stop() argument
1204 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_svc_idle_stop()
1206 ASSERT(mir->mir_type == RPC_SERVER); in mir_svc_idle_stop()
1209 mir_timer_stop(mir); in mir_svc_idle_stop()
1219 mir_svc_idle_start(queue_t *q, mir_t *mir) in mir_svc_idle_start() argument
1221 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_svc_idle_start()
1223 ASSERT(mir->mir_type == RPC_SERVER); in mir_svc_idle_start()
1229 if (mir->mir_closing) { in mir_svc_idle_start()
1239 if (mir->mir_inwservice == 0) in mir_svc_idle_start()
1240 cv_signal(&mir->mir_condvar); in mir_svc_idle_start()
1244 mir->mir_ordrel_pending ? "ordrel" : "normal"); in mir_svc_idle_start()
1251 mir_timer_start(q, mir, mir->mir_ordrel_pending ? in mir_svc_idle_start()
1252 svc_ordrel_timeout : mir->mir_idle_timeout); in mir_svc_idle_start()
1260 mir_t *mir; in mir_open() local
1274 mir = kmem_zalloc(sizeof (mir_t), KM_SLEEP); in mir_open()
1292 mir->mir_hold_inbound = 1; in mir_open()
1302 mir->mir_frag_len = -(int32_t)sizeof (uint32_t); in mir_open()
1304 mir->mir_zoneid = rpc_zoneid(); in mir_open()
1305 mutex_init(&mir->mir_mutex, NULL, MUTEX_DEFAULT, NULL); in mir_open()
1306 cv_init(&mir->mir_condvar, NULL, CV_DRIVER, NULL); in mir_open()
1307 cv_init(&mir->mir_timer_cv, NULL, CV_DRIVER, NULL); in mir_open()
1309 q->q_ptr = (char *)mir; in mir_open()
1310 WR(q)->q_ptr = (char *)mir; in mir_open()
1335 mir_t *mir = q->q_ptr; in mir_rput() local
1338 ASSERT(mir != NULL); in mir_rput()
1347 if (mir->mir_type == 0) { in mir_rput()
1352 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_rput()
1403 mutex_enter(&mir->mir_mutex); in mir_rput()
1408 if (mir->mir_svc_no_more_msgs) { in mir_rput()
1409 ASSERT(mir->mir_type == RPC_SERVER); in mir_rput()
1410 mutex_exit(&mir->mir_mutex); in mir_rput()
1416 frag_len = mir->mir_frag_len; in mir_rput()
1417 frag_header = mir->mir_frag_header; in mir_rput()
1418 head_mp = mir->mir_head_mp; in mir_rput()
1419 tail_mp = mir->mir_tail_mp; in mir_rput()
1493 mir->mir_frag_header = 0; in mir_rput()
1494 mir->mir_frag_len = -(int32_t)sizeof (uint32_t); in mir_rput()
1495 mir->mir_head_mp = NULL; in mir_rput()
1496 mir->mir_tail_mp = NULL; in mir_rput()
1497 mir_disconnect(q, mir); /* drops mir_mutex */ in mir_rput()
1536 switch (mir->mir_type) { in mir_rput()
1538 if (clnt_dispatch_notify(head_mp, mir->mir_zoneid)) { in mir_rput()
1543 mir->mir_clntreq = 1; in mir_rput()
1544 mir->mir_use_timestamp = ddi_get_lbolt(); in mir_rput()
1555 if (!mir->mir_hold_inbound) { in mir_rput()
1556 if (mir->mir_krpc_cell) { in mir_rput()
1571 if (mir->mir_ref_cnt++ == 0) in mir_rput()
1575 mir->mir_inrservice = B_TRUE; in mir_rput()
1594 mir->mir_inrservice = B_TRUE; in mir_rput()
1599 mir->mir_type); in mir_rput()
1614 if (head_mp != NULL && mir->mir_setup_complete && in mir_rput()
1619 mir->mir_frag_header = frag_header; in mir_rput()
1620 mir->mir_frag_len = frag_len; in mir_rput()
1621 mir->mir_head_mp = head_mp; in mir_rput()
1622 mir->mir_tail_mp = tail_mp; in mir_rput()
1638 mir_svc_idle_stop(WR(q), mir); in mir_rput()
1640 mutex_exit(&mir->mir_mutex); in mir_rput()
1646 mir_t *mir = (mir_t *)q->q_ptr; in mir_rput_proto() local
1650 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_rput_proto()
1653 switch (mir->mir_type) { in mir_rput_proto()
1661 mutex_enter(&mir->mir_mutex); in mir_rput_proto()
1662 if (mir->mir_head_mp) { in mir_rput_proto()
1663 freemsg(mir->mir_head_mp); in mir_rput_proto()
1664 mir->mir_head_mp = (mblk_t *)0; in mir_rput_proto()
1665 mir->mir_tail_mp = (mblk_t *)0; in mir_rput_proto()
1673 mir->mir_idle_timeout = clnt_idle_timeout; in mir_rput_proto()
1674 mir_clnt_idle_stop(WR(q), mir); in mir_rput_proto()
1691 mir_clnt_idle_start(WR(q), mir); in mir_rput_proto()
1692 mutex_exit(&mir->mir_mutex); in mir_rput_proto()
1760 mutex_enter(&mir->mir_mutex); in mir_rput_proto()
1761 mir_svc_idle_stop(WR(q), mir); in mir_rput_proto()
1768 mir->mir_listen_stream = 1; in mir_rput_proto()
1769 mutex_exit(&mir->mir_mutex); in mir_rput_proto()
1784 if (mir->mir_listen_stream) in mir_rput_proto()
1787 mutex_enter(&mir->mir_mutex); in mir_rput_proto()
1793 mir_svc_start_close(WR(q), mir); in mir_rput_proto()
1799 if (MIR_SVC_QUIESCED(mir)) { in mir_rput_proto()
1800 mutex_exit(&mir->mir_mutex); in mir_rput_proto()
1816 if (mir->mir_svc_pend_mp) { in mir_rput_proto()
1823 freemsg(mir->mir_svc_pend_mp); in mir_rput_proto()
1824 mir->mir_svc_pend_mp = mp; in mir_rput_proto()
1833 mir->mir_svc_pend_mp = mp; in mir_rput_proto()
1835 mutex_exit(&mir->mir_mutex); in mir_rput_proto()
1860 mir_t *mir; in mir_rsrv() local
1864 mir = (mir_t *)q->q_ptr; in mir_rsrv()
1865 mutex_enter(&mir->mir_mutex); in mir_rsrv()
1868 switch (mir->mir_type) { in mir_rsrv()
1870 if (mir->mir_ref_cnt == 0) in mir_rsrv()
1871 mir->mir_hold_inbound = 0; in mir_rsrv()
1872 if (mir->mir_hold_inbound) in mir_rsrv()
1876 if (mir->mir_krpc_cell && in mir_rsrv()
1877 (mir->mir_svc_no_more_msgs == 0)) { in mir_rsrv()
1887 if (mir->mir_ref_cnt++ == 0) in mir_rsrv()
1898 if (mir->mir_krpc_cell == NULL) in mir_rsrv()
1907 RPCLOG(1, "mir_rsrv: unexpected mir_type %d\n", mir->mir_type); in mir_rsrv()
1910 MIR_CLEAR_INRSRV(mir); in mir_rsrv()
1912 mutex_exit(&mir->mir_mutex); in mir_rsrv()
1927 mir_svc_idle_stop(WR(q), mir); in mir_rsrv()
1933 MIR_CLEAR_INRSRV(mir); in mir_rsrv()
1935 if (mir->mir_type == RPC_SERVER && MIR_SVC_QUIESCED(mir)) { in mir_rsrv()
1936 cmp = mir->mir_svc_pend_mp; in mir_rsrv()
1937 mir->mir_svc_pend_mp = NULL; in mir_rsrv()
1940 mutex_exit(&mir->mir_mutex); in mir_rsrv()
1951 mutex_exit(&mir->mir_mutex); in mir_rsrv()
1965 mir_t *mir = (mir_t *)q->q_ptr; in mir_svc_policy_notify() local
1966 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_svc_policy_notify()
1995 mir_svc_start_close(queue_t *wq, mir_t *mir) in mir_svc_start_close() argument
1997 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_svc_start_close()
1999 ASSERT(mir->mir_type == RPC_SERVER); in mir_svc_start_close()
2004 mir->mir_svc_no_more_msgs = 1; in mir_svc_start_close()
2012 mir->mir_hold_inbound = 0; in mir_svc_start_close()
2025 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_hold() local
2027 mutex_enter(&mir->mir_mutex); in mir_svc_hold()
2028 mir->mir_ref_cnt++; in mir_svc_hold()
2029 mutex_exit(&mir->mir_mutex); in mir_svc_hold()
2039 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_release() local
2049 mutex_enter(&mir->mir_mutex); in mir_svc_release()
2054 if ((mir->mir_ref_cnt == 1) && (mir->mir_inrservice == 0)) { in mir_svc_release()
2055 cmp = mir->mir_svc_pend_mp; in mir_svc_release()
2056 mir->mir_svc_pend_mp = NULL; in mir_svc_release()
2064 mutex_exit(&mir->mir_mutex); in mir_svc_release()
2068 mutex_enter(&mir->mir_mutex); in mir_svc_release()
2074 if (mir->mir_ref_cnt == 1 && mir->mir_inrservice == 0) { in mir_svc_release()
2079 mir_svc_idle_start(wq, mir); in mir_svc_release()
2082 mir->mir_ref_cnt--; in mir_svc_release()
2083 ASSERT(mir->mir_ref_cnt >= 0); in mir_svc_release()
2089 if ((mir->mir_ref_cnt == 0) && mir->mir_closing) in mir_svc_release()
2090 cv_signal(&mir->mir_condvar); in mir_svc_release()
2092 mutex_exit(&mir->mir_mutex); in mir_svc_release()
2102 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_start() local
2110 mir->mir_setup_complete = 1; in mir_svc_start()
2118 mir_clnt_idle_stop(queue_t *wq, mir_t *mir) in mir_clnt_idle_stop() argument
2120 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_clnt_idle_stop()
2122 ASSERT(mir->mir_type == RPC_CLIENT); in mir_clnt_idle_stop()
2124 mir_timer_stop(mir); in mir_clnt_idle_stop()
2131 mir_clnt_idle_start(queue_t *wq, mir_t *mir) in mir_clnt_idle_start() argument
2133 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_clnt_idle_start()
2135 ASSERT(mir->mir_type == RPC_CLIENT); in mir_clnt_idle_start()
2137 mir_timer_start(wq, mir, mir->mir_idle_timeout); in mir_clnt_idle_start()
2147 mir_t *mir = (mir_t *)wq->q_ptr; in mir_clnt_idle_do_stop() local
2150 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_clnt_idle_do_stop()
2151 mutex_enter(&mir->mir_mutex); in mir_clnt_idle_do_stop()
2152 mir_clnt_idle_stop(wq, mir); in mir_clnt_idle_do_stop()
2153 mutex_exit(&mir->mir_mutex); in mir_clnt_idle_do_stop()
2163 mir_t *mir = (mir_t *)wq->q_ptr; in mir_timer() local
2167 mutex_enter(&mir->mir_mutex); in mir_timer()
2175 if (mir->mir_timer_call) { in mir_timer()
2176 mutex_exit(&mir->mir_mutex); in mir_timer()
2179 mir->mir_timer_id = 0; in mir_timer()
2181 switch (mir->mir_type) { in mir_timer()
2205 if (mir->mir_clntreq > 0 && mir->mir_use_timestamp + in mir_timer()
2206 MSEC_TO_TICK(mir->mir_idle_timeout) - now >= 0) { in mir_timer()
2209 tout = mir->mir_idle_timeout - in mir_timer()
2210 TICK_TO_MSEC(now - mir->mir_use_timestamp); in mir_timer()
2216 TICK_TO_MSEC(mir->mir_use_timestamp), in mir_timer()
2217 mir->mir_idle_timeout, tout); in mir_timer()
2219 mir->mir_clntreq = 0; in mir_timer()
2220 mir_timer_start(wq, mir, tout); in mir_timer()
2221 mutex_exit(&mir->mir_mutex); in mir_timer()
2233 mir->mir_idle_timeout = clnt_idle_timeout; in mir_timer()
2234 mir_clnt_idle_start(wq, mir); in mir_timer()
2236 mutex_exit(&mir->mir_mutex); in mir_timer()
2264 if (!MIR_SVC_QUIESCED(mir)) { in mir_timer()
2265 mutex_exit(&mir->mir_mutex); in mir_timer()
2269 notify = !mir->mir_inrservice; in mir_timer()
2270 mutex_exit(&mir->mir_mutex); in mir_timer()
2284 mir->mir_type); in mir_timer()
2285 mutex_exit(&mir->mir_mutex); in mir_timer()
2298 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput() local
2301 if (!mir) { in mir_wput()
2311 if (mir->mir_ordrel_pending == 1) { in mir_wput()
2341 mutex_enter(&mir->mir_mutex); in mir_wput()
2342 if (mir->mir_type == RPC_CLIENT) { in mir_wput()
2347 mir->mir_clntreq = 1; in mir_wput()
2348 mir->mir_use_timestamp = ddi_get_lbolt(); in mir_wput()
2356 if (!mir->mir_inwservice && MIR_WCANPUTNEXT(mir, q)) { in mir_wput()
2357 mutex_exit(&mir->mir_mutex); in mir_wput()
2366 switch (mir->mir_type) { in mir_wput()
2378 mutex_exit(&mir->mir_mutex); in mir_wput()
2391 mir->mir_hold_inbound = 1; in mir_wput()
2394 RPCLOG(1, "mir_wput: unexpected mir_type %d\n", mir->mir_type); in mir_wput()
2397 mir->mir_inwservice = 1; in mir_wput()
2399 mutex_exit(&mir->mir_mutex); in mir_wput()
2405 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput_other() local
2410 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_wput_other()
2416 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2417 if (mir->mir_type != 0 && in mir_wput_other()
2418 mir->mir_type != iocp->ioc_cmd) { in mir_wput_other()
2420 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2428 mir->mir_type = iocp->ioc_cmd; in mir_wput_other()
2435 mir->mir_hold_inbound = 0; in mir_wput_other()
2436 mir->mir_max_msg_sizep = &clnt_max_msg_size; in mir_wput_other()
2442 mir->mir_idle_timeout = clnt_idle_timeout; in mir_wput_other()
2443 mir_clnt_idle_start(q, mir); in mir_wput_other()
2444 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2450 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2451 if (mir->mir_type != 0 && in mir_wput_other()
2452 mir->mir_type != iocp->ioc_cmd) in mir_wput_other()
2463 mir->mir_type = iocp->ioc_cmd; in mir_wput_other()
2464 mir->mir_max_msg_sizep = &svc_max_msg_size; in mir_wput_other()
2474 mir->mir_idle_timeout = svc_idle_timeout; in mir_wput_other()
2477 mir_svc_idle_start(q, mir); in mir_wput_other()
2478 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2489 if (mir->mir_type == RPC_CLIENT) { in mir_wput_other()
2510 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2511 if (mir->mir_type != RPC_SERVER) { in mir_wput_other()
2521 mir->mir_inwservice = 1; in mir_wput_other()
2523 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2537 mir_svc_start_close(q, mir); in mir_wput_other()
2543 if (mir->mir_ordrel_pending) { in mir_wput_other()
2545 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2562 if (!MIR_SVC_QUIESCED(mir) || in mir_wput_other()
2563 mir->mir_inwservice == 1) { in mir_wput_other()
2564 mir->mir_inwservice = 1; in mir_wput_other()
2570 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2578 mir->mir_ordrel_pending = 1; in mir_wput_other()
2584 mir_svc_idle_start(q, mir); in mir_wput_other()
2585 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2593 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2594 if (mir->mir_head_mp != NULL) { in mir_wput_other()
2595 freemsg(mir->mir_head_mp); in mir_wput_other()
2596 mir->mir_head_mp = NULL; in mir_wput_other()
2597 mir->mir_tail_mp = NULL; in mir_wput_other()
2599 mir->mir_frag_len = -(int32_t)sizeof (uint32_t); in mir_wput_other()
2604 mir->mir_idle_timeout = clnt_idle_timeout; in mir_wput_other()
2605 mir_clnt_idle_stop(q, mir); in mir_wput_other()
2606 mir_clnt_idle_start(q, mir); in mir_wput_other()
2607 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2625 if (mir->mir_type == RPC_CLIENT && in mir_wput_other()
2643 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2644 if (mir->mir_inwservice == 0 && MIR_WCANPUTNEXT(mir, q)) { in mir_wput_other()
2645 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2648 mir->mir_inwservice = 1; in mir_wput_other()
2649 mir->mir_inwflushdata = flush_in_svc; in mir_wput_other()
2651 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2663 mir_t *mir; in mir_wsrv() local
2666 mir = (mir_t *)q->q_ptr; in mir_wsrv()
2667 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2669 flushdata = mir->mir_inwflushdata; in mir_wsrv()
2670 mir->mir_inwflushdata = 0; in mir_wsrv()
2678 if (flushdata || mir->mir_ordrel_pending == 1) { in mir_wsrv()
2687 if (!MIR_WCANPUTNEXT(mir, q)) { in mir_wsrv()
2689 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2696 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2698 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2707 if (mir->mir_type != RPC_SERVER || in mir_wsrv()
2710 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2712 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2716 if (mir->mir_ordrel_pending == 1) { in mir_wsrv()
2730 mir->mir_ordrel_pending = 1; in mir_wsrv()
2739 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2741 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2750 mir->mir_inwservice = 0; in mir_wsrv()
2752 if (mir->mir_type != RPC_SERVER) { in mir_wsrv()
2753 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2763 if (MIR_SVC_QUIESCED(mir) && !(mir->mir_listen_stream)) { in mir_wsrv()
2766 mir_svc_idle_start(q, mir); in mir_wsrv()
2773 if (mir->mir_hold_inbound) { in mir_wsrv()
2774 mir->mir_hold_inbound = 0; in mir_wsrv()
2777 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2781 mir_disconnect(queue_t *q, mir_t *mir) in mir_disconnect() argument
2783 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_disconnect()
2785 switch (mir->mir_type) { in mir_disconnect()
2793 mir->mir_idle_timeout = clnt_idle_timeout; in mir_disconnect()
2794 mir_clnt_idle_start(WR(q), mir); in mir_disconnect()
2795 mutex_exit(&mir->mir_mutex); in mir_disconnect()
2808 mir->mir_svc_no_more_msgs = 1; in mir_disconnect()
2809 mir_svc_idle_stop(WR(q), mir); in mir_disconnect()
2810 mutex_exit(&mir->mir_mutex); in mir_disconnect()
2818 mutex_exit(&mir->mir_mutex); in mir_disconnect()
2830 mir_t *mir = q->q_ptr; in mir_check_len() local
2834 if (mir->mir_max_msg_sizep != NULL) in mir_check_len()
2835 maxsize = *mir->mir_max_msg_sizep; in mir_check_len()
2841 mir->mir_head_mp = NULL; in mir_check_len()
2842 mir->mir_tail_mp = NULL; in mir_check_len()
2843 mir->mir_frag_header = 0; in mir_check_len()
2844 mir->mir_frag_len = -(int32_t)sizeof (uint32_t); in mir_check_len()
2845 if (mir->mir_type != RPC_SERVER || mir->mir_setup_complete) { in mir_check_len()
2849 (mir->mir_type == RPC_CLIENT) ? "server" : in mir_check_len()
2850 (mir->mir_type == RPC_SERVER) ? "client" : in mir_check_len()
2854 mir_disconnect(q, mir); in mir_check_len()