Lines Matching refs:mir
988 #define MIR_SVC_QUIESCED(mir) \ argument
989 (mir->mir_ref_cnt == 0 && mir->mir_inrservice == 0)
1043 mir_timer_stop(mir_t *mir) in mir_timer_stop() argument
1047 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_timer_stop()
1058 while (mir->mir_timer_call) in mir_timer_stop()
1059 cv_wait(&mir->mir_timer_cv, &mir->mir_mutex); in mir_timer_stop()
1060 mir->mir_timer_call = B_TRUE; in mir_timer_stop()
1062 if ((tid = mir->mir_timer_id) != 0) { in mir_timer_stop()
1063 mir->mir_timer_id = 0; in mir_timer_stop()
1064 mutex_exit(&mir->mir_mutex); in mir_timer_stop()
1066 mutex_enter(&mir->mir_mutex); in mir_timer_stop()
1068 mir->mir_timer_call = B_FALSE; in mir_timer_stop()
1069 cv_broadcast(&mir->mir_timer_cv); in mir_timer_stop()
1073 mir_timer_start(queue_t *q, mir_t *mir, clock_t intrvl) in mir_timer_start() argument
1077 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_timer_start()
1079 while (mir->mir_timer_call) in mir_timer_start()
1080 cv_wait(&mir->mir_timer_cv, &mir->mir_mutex); in mir_timer_start()
1081 mir->mir_timer_call = B_TRUE; in mir_timer_start()
1083 if ((tid = mir->mir_timer_id) != 0) { in mir_timer_start()
1084 mutex_exit(&mir->mir_mutex); in mir_timer_start()
1086 mutex_enter(&mir->mir_mutex); in mir_timer_start()
1089 if (!mir->mir_closing) { in mir_timer_start()
1090 mir->mir_timer_id = timeout(mir_timer, q, in mir_timer_start()
1093 mir->mir_timer_call = B_FALSE; in mir_timer_start()
1094 cv_broadcast(&mir->mir_timer_cv); in mir_timer_start()
1123 mir_t *mir = q->q_ptr; in mir_close() local
1128 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_close()
1129 mutex_enter(&mir->mir_mutex); in mir_close()
1130 if ((mp = mir->mir_head_mp) != NULL) { in mir_close()
1131 mir->mir_head_mp = NULL; in mir_close()
1132 mir->mir_tail_mp = NULL; in mir_close()
1139 mir->mir_closing = B_TRUE; in mir_close()
1140 mir_timer_stop(mir); in mir_close()
1142 if (mir->mir_type == RPC_SERVER) { in mir_close()
1149 mir_svc_start_close(WR(q), mir); in mir_close()
1151 while ((!MIR_SVC_QUIESCED(mir)) || mir->mir_inwservice == 1) { in mir_close()
1153 if (mir->mir_ref_cnt && !mir->mir_inrservice && in mir_close()
1158 mutex_exit(&mir->mir_mutex); in mir_close()
1161 mutex_enter(&mir->mir_mutex); in mir_close()
1171 if (mir->mir_inwservice == 1) in mir_close()
1174 cv_wait(&mir->mir_condvar, &mir->mir_mutex); in mir_close()
1177 mutex_exit(&mir->mir_mutex); in mir_close()
1183 mutex_exit(&mir->mir_mutex); in mir_close()
1187 mutex_destroy(&mir->mir_mutex); in mir_close()
1188 cv_destroy(&mir->mir_condvar); in mir_close()
1189 cv_destroy(&mir->mir_timer_cv); in mir_close()
1190 kmem_free(mir, sizeof (mir_t)); in mir_close()
1200 mir_svc_idle_stop(queue_t *q, mir_t *mir) in mir_svc_idle_stop() argument
1202 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_svc_idle_stop()
1204 ASSERT(mir->mir_type == RPC_SERVER); in mir_svc_idle_stop()
1207 mir_timer_stop(mir); in mir_svc_idle_stop()
1217 mir_svc_idle_start(queue_t *q, mir_t *mir) in mir_svc_idle_start() argument
1219 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_svc_idle_start()
1221 ASSERT(mir->mir_type == RPC_SERVER); in mir_svc_idle_start()
1227 if (mir->mir_closing) { in mir_svc_idle_start()
1237 if (mir->mir_inwservice == 0) in mir_svc_idle_start()
1238 cv_signal(&mir->mir_condvar); in mir_svc_idle_start()
1242 mir->mir_ordrel_pending ? "ordrel" : "normal"); in mir_svc_idle_start()
1249 mir_timer_start(q, mir, mir->mir_ordrel_pending ? in mir_svc_idle_start()
1250 svc_ordrel_timeout : mir->mir_idle_timeout); in mir_svc_idle_start()
1258 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()
2029 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_release() local
2039 mutex_enter(&mir->mir_mutex); in mir_svc_release()
2044 if ((mir->mir_ref_cnt == 1) && (mir->mir_inrservice == 0)) { in mir_svc_release()
2045 cmp = mir->mir_svc_pend_mp; in mir_svc_release()
2046 mir->mir_svc_pend_mp = NULL; in mir_svc_release()
2054 mutex_exit(&mir->mir_mutex); in mir_svc_release()
2058 mutex_enter(&mir->mir_mutex); in mir_svc_release()
2064 if (mir->mir_ref_cnt == 1 && mir->mir_inrservice == 0) { in mir_svc_release()
2069 mir_svc_idle_start(wq, mir); in mir_svc_release()
2072 mir->mir_ref_cnt--; in mir_svc_release()
2073 ASSERT(mir->mir_ref_cnt >= 0); in mir_svc_release()
2079 if ((mir->mir_ref_cnt == 0) && mir->mir_closing) in mir_svc_release()
2080 cv_signal(&mir->mir_condvar); in mir_svc_release()
2082 mutex_exit(&mir->mir_mutex); in mir_svc_release()
2092 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_start() local
2100 mir->mir_setup_complete = 1; in mir_svc_start()
2108 mir_clnt_idle_stop(queue_t *wq, mir_t *mir) in mir_clnt_idle_stop() argument
2110 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_clnt_idle_stop()
2112 ASSERT(mir->mir_type == RPC_CLIENT); in mir_clnt_idle_stop()
2114 mir_timer_stop(mir); in mir_clnt_idle_stop()
2121 mir_clnt_idle_start(queue_t *wq, mir_t *mir) in mir_clnt_idle_start() argument
2123 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_clnt_idle_start()
2125 ASSERT(mir->mir_type == RPC_CLIENT); in mir_clnt_idle_start()
2127 mir_timer_start(wq, mir, mir->mir_idle_timeout); in mir_clnt_idle_start()
2137 mir_t *mir = (mir_t *)wq->q_ptr; in mir_clnt_idle_do_stop() local
2140 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_clnt_idle_do_stop()
2141 mutex_enter(&mir->mir_mutex); in mir_clnt_idle_do_stop()
2142 mir_clnt_idle_stop(wq, mir); in mir_clnt_idle_do_stop()
2143 mutex_exit(&mir->mir_mutex); in mir_clnt_idle_do_stop()
2153 mir_t *mir = (mir_t *)wq->q_ptr; in mir_timer() local
2157 mutex_enter(&mir->mir_mutex); in mir_timer()
2165 if (mir->mir_timer_call) { in mir_timer()
2166 mutex_exit(&mir->mir_mutex); in mir_timer()
2169 mir->mir_timer_id = 0; in mir_timer()
2171 switch (mir->mir_type) { in mir_timer()
2195 if (mir->mir_clntreq > 0 && mir->mir_use_timestamp + in mir_timer()
2196 MSEC_TO_TICK(mir->mir_idle_timeout) - now >= 0) { in mir_timer()
2199 tout = mir->mir_idle_timeout - in mir_timer()
2200 TICK_TO_MSEC(now - mir->mir_use_timestamp); in mir_timer()
2206 TICK_TO_MSEC(mir->mir_use_timestamp), in mir_timer()
2207 mir->mir_idle_timeout, tout); in mir_timer()
2209 mir->mir_clntreq = 0; in mir_timer()
2210 mir_timer_start(wq, mir, tout); in mir_timer()
2211 mutex_exit(&mir->mir_mutex); in mir_timer()
2223 mir->mir_idle_timeout = clnt_idle_timeout; in mir_timer()
2224 mir_clnt_idle_start(wq, mir); in mir_timer()
2226 mutex_exit(&mir->mir_mutex); in mir_timer()
2254 if (!MIR_SVC_QUIESCED(mir)) { in mir_timer()
2255 mutex_exit(&mir->mir_mutex); in mir_timer()
2259 notify = !mir->mir_inrservice; in mir_timer()
2260 mutex_exit(&mir->mir_mutex); in mir_timer()
2274 mir->mir_type); in mir_timer()
2275 mutex_exit(&mir->mir_mutex); in mir_timer()
2288 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput() local
2291 if (!mir) { in mir_wput()
2301 if (mir->mir_ordrel_pending == 1) { in mir_wput()
2331 mutex_enter(&mir->mir_mutex); in mir_wput()
2332 if (mir->mir_type == RPC_CLIENT) { in mir_wput()
2337 mir->mir_clntreq = 1; in mir_wput()
2338 mir->mir_use_timestamp = ddi_get_lbolt(); in mir_wput()
2346 if (!mir->mir_inwservice && MIR_WCANPUTNEXT(mir, q)) { in mir_wput()
2347 mutex_exit(&mir->mir_mutex); in mir_wput()
2356 switch (mir->mir_type) { in mir_wput()
2368 mutex_exit(&mir->mir_mutex); in mir_wput()
2381 mir->mir_hold_inbound = 1; in mir_wput()
2384 RPCLOG(1, "mir_wput: unexpected mir_type %d\n", mir->mir_type); in mir_wput()
2387 mir->mir_inwservice = 1; in mir_wput()
2389 mutex_exit(&mir->mir_mutex); in mir_wput()
2395 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput_other() local
2400 ASSERT(MUTEX_NOT_HELD(&mir->mir_mutex)); in mir_wput_other()
2406 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2407 if (mir->mir_type != 0 && in mir_wput_other()
2408 mir->mir_type != iocp->ioc_cmd) { in mir_wput_other()
2410 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2418 mir->mir_type = iocp->ioc_cmd; in mir_wput_other()
2425 mir->mir_hold_inbound = 0; in mir_wput_other()
2426 mir->mir_max_msg_sizep = &clnt_max_msg_size; in mir_wput_other()
2432 mir->mir_idle_timeout = clnt_idle_timeout; in mir_wput_other()
2433 mir_clnt_idle_start(q, mir); in mir_wput_other()
2434 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2440 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2441 if (mir->mir_type != 0 && in mir_wput_other()
2442 mir->mir_type != iocp->ioc_cmd) in mir_wput_other()
2453 mir->mir_type = iocp->ioc_cmd; in mir_wput_other()
2454 mir->mir_max_msg_sizep = &svc_max_msg_size; in mir_wput_other()
2464 mir->mir_idle_timeout = svc_idle_timeout; in mir_wput_other()
2467 mir_svc_idle_start(q, mir); in mir_wput_other()
2468 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2479 if (mir->mir_type == RPC_CLIENT) { in mir_wput_other()
2500 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2501 if (mir->mir_type != RPC_SERVER) { in mir_wput_other()
2511 mir->mir_inwservice = 1; in mir_wput_other()
2513 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2527 mir_svc_start_close(q, mir); in mir_wput_other()
2533 if (mir->mir_ordrel_pending) { in mir_wput_other()
2535 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2552 if (!MIR_SVC_QUIESCED(mir) || in mir_wput_other()
2553 mir->mir_inwservice == 1) { in mir_wput_other()
2554 mir->mir_inwservice = 1; in mir_wput_other()
2560 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2568 mir->mir_ordrel_pending = 1; in mir_wput_other()
2574 mir_svc_idle_start(q, mir); in mir_wput_other()
2575 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2583 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2584 if (mir->mir_head_mp != NULL) { in mir_wput_other()
2585 freemsg(mir->mir_head_mp); in mir_wput_other()
2586 mir->mir_head_mp = NULL; in mir_wput_other()
2587 mir->mir_tail_mp = NULL; in mir_wput_other()
2589 mir->mir_frag_len = -(int32_t)sizeof (uint32_t); in mir_wput_other()
2594 mir->mir_idle_timeout = clnt_idle_timeout; in mir_wput_other()
2595 mir_clnt_idle_stop(q, mir); in mir_wput_other()
2596 mir_clnt_idle_start(q, mir); in mir_wput_other()
2597 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2615 if (mir->mir_type == RPC_CLIENT && in mir_wput_other()
2633 mutex_enter(&mir->mir_mutex); in mir_wput_other()
2634 if (mir->mir_inwservice == 0 && MIR_WCANPUTNEXT(mir, q)) { in mir_wput_other()
2635 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2638 mir->mir_inwservice = 1; in mir_wput_other()
2639 mir->mir_inwflushdata = flush_in_svc; in mir_wput_other()
2641 mutex_exit(&mir->mir_mutex); in mir_wput_other()
2653 mir_t *mir; in mir_wsrv() local
2656 mir = (mir_t *)q->q_ptr; in mir_wsrv()
2657 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2659 flushdata = mir->mir_inwflushdata; in mir_wsrv()
2660 mir->mir_inwflushdata = 0; in mir_wsrv()
2668 if (flushdata || mir->mir_ordrel_pending == 1) { in mir_wsrv()
2677 if (!MIR_WCANPUTNEXT(mir, q)) { in mir_wsrv()
2679 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2686 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2688 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2697 if (mir->mir_type != RPC_SERVER || in mir_wsrv()
2700 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2702 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2706 if (mir->mir_ordrel_pending == 1) { in mir_wsrv()
2720 mir->mir_ordrel_pending = 1; in mir_wsrv()
2729 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2731 mutex_enter(&mir->mir_mutex); in mir_wsrv()
2740 mir->mir_inwservice = 0; in mir_wsrv()
2742 if (mir->mir_type != RPC_SERVER) { in mir_wsrv()
2743 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2753 if (MIR_SVC_QUIESCED(mir) && !(mir->mir_listen_stream)) { in mir_wsrv()
2756 mir_svc_idle_start(q, mir); in mir_wsrv()
2763 if (mir->mir_hold_inbound) { in mir_wsrv()
2764 mir->mir_hold_inbound = 0; in mir_wsrv()
2767 mutex_exit(&mir->mir_mutex); in mir_wsrv()
2771 mir_disconnect(queue_t *q, mir_t *mir) in mir_disconnect() argument
2773 ASSERT(MUTEX_HELD(&mir->mir_mutex)); in mir_disconnect()
2775 switch (mir->mir_type) { in mir_disconnect()
2783 mir->mir_idle_timeout = clnt_idle_timeout; in mir_disconnect()
2784 mir_clnt_idle_start(WR(q), mir); in mir_disconnect()
2785 mutex_exit(&mir->mir_mutex); in mir_disconnect()
2798 mir->mir_svc_no_more_msgs = 1; in mir_disconnect()
2799 mir_svc_idle_stop(WR(q), mir); in mir_disconnect()
2800 mutex_exit(&mir->mir_mutex); in mir_disconnect()
2808 mutex_exit(&mir->mir_mutex); in mir_disconnect()
2820 mir_t *mir = q->q_ptr; in mir_check_len() local
2824 if (mir->mir_max_msg_sizep != NULL) in mir_check_len()
2825 maxsize = *mir->mir_max_msg_sizep; in mir_check_len()
2831 mir->mir_head_mp = NULL; in mir_check_len()
2832 mir->mir_tail_mp = NULL; in mir_check_len()
2833 mir->mir_frag_header = 0; in mir_check_len()
2834 mir->mir_frag_len = -(int32_t)sizeof (uint32_t); in mir_check_len()
2835 if (mir->mir_type != RPC_SERVER || mir->mir_setup_complete) { in mir_check_len()
2839 (mir->mir_type == RPC_CLIENT) ? "server" : in mir_check_len()
2840 (mir->mir_type == RPC_SERVER) ? "client" : in mir_check_len()
2844 mir_disconnect(q, mir); in mir_check_len()