Lines Matching refs:mqueue

122 	ipc_mqueue_t            mqueue,
133 ipc_mqueue_t mqueue) in ipc_mqueue_init() argument
135 ipc_kmsg_queue_init(&mqueue->imq_messages); in ipc_mqueue_init()
136 mqueue->imq_qlimit = MACH_PORT_QLIMIT_DEFAULT; in ipc_mqueue_init()
137 klist_init(&mqueue->imq_klist); in ipc_mqueue_init()
458 ipc_mqueue_t mqueue, in ipc_mqueue_send_locked() argument
463 ipc_port_t port = ip_from_mq(mqueue); in ipc_mqueue_send_locked()
472 if (!imq_full(mqueue) || in ipc_mqueue_send_locked()
473 (!imq_full_kernel(mqueue) && in ipc_mqueue_send_locked()
477 mqueue->imq_msgcount++; in ipc_mqueue_send_locked()
478 assert(mqueue->imq_msgcount > 0); in ipc_mqueue_send_locked()
492 if (imq_full_kernel(mqueue)) { in ipc_mqueue_send_locked()
561 ipc_mqueue_post(mqueue, kmsg, option); in ipc_mqueue_send_locked()
579 ipc_mqueue_t mqueue, in ipc_mqueue_override_send_locked() argument
582 ipc_port_t port = ip_from_mq(mqueue); in ipc_mqueue_override_send_locked()
586 if (imq_full(mqueue)) { in ipc_mqueue_override_send_locked()
587 ipc_kmsg_t first = ipc_kmsg_queue_first(&mqueue->imq_messages); in ipc_mqueue_override_send_locked()
589 if (first && ipc_kmsg_override_qos(&mqueue->imq_messages, first, qos_ovr)) { in ipc_mqueue_override_send_locked()
666 ipc_mqueue_t mqueue, in ipc_mqueue_post() argument
670 ipc_port_t port = ip_from_mq(mqueue); in ipc_mqueue_post()
714 if (mqueue->imq_msgcount == 0) { in ipc_mqueue_post()
721 } else if (!ipc_kmsg_enqueue_qos(&mqueue->imq_messages, kmsg)) { in ipc_mqueue_post()
750 if (receiver->ith_state == MACH_PEEK_IN_PROGRESS && mqueue->imq_msgcount > 0) { in ipc_mqueue_post()
751 ipc_kmsg_enqueue_qos(&mqueue->imq_messages, kmsg); in ipc_mqueue_post()
752 ipc_mqueue_peek_on_thread_locked(mqueue, receiver->ith_option, receiver); in ipc_mqueue_post()
799 receiver->ith_seqno = mqueue->imq_seqno++; in ipc_mqueue_post()
807 ipc_mqueue_release_msgcount(mqueue); in ipc_mqueue_post()
810 if (MACH_NODE_VALID(node) && FPORT_VALID(mqueue->imq_fport)) { in ipc_mqueue_post()
811 flipc_msg_ack(node, mqueue, TRUE); in ipc_mqueue_post()
822 receiver->ith_receiver_name = mqueue->imq_receiver_name; in ipc_mqueue_post()
1395 ipc_mqueue_release_peek_ref(ipc_mqueue_t mqueue) in ipc_mqueue_release_peek_ref() argument
1397 ipc_port_t port = ip_from_mq(mqueue); in ipc_mqueue_release_peek_ref()
1428 ipc_mqueue_destroy_locked(ipc_mqueue_t mqueue, waitq_link_list_t *free_l) in ipc_mqueue_destroy_locked() argument
1430 ipc_port_t port = ip_from_mq(mqueue); in ipc_mqueue_destroy_locked()
1450 cqe_foreach_element_safe(kmsg, &mqueue->imq_messages, ikm_link) { in ipc_mqueue_destroy_locked()
1452 FPORT_VALID(mqueue->imq_fport)) { in ipc_mqueue_destroy_locked()
1453 flipc_msg_ack(kmsg->ikm_node, mqueue, TRUE); in ipc_mqueue_destroy_locked()
1462 reap = ipc_kmsg_delayed_destroy_queue(&mqueue->imq_messages); in ipc_mqueue_destroy_locked()
1470 mqueue->imq_msgcount = 0; in ipc_mqueue_destroy_locked()
1495 ipc_mqueue_t mqueue, in ipc_mqueue_set_qlimit_locked() argument
1498 ipc_port_t port = ip_from_mq(mqueue); in ipc_mqueue_set_qlimit_locked()
1503 if (qlimit > mqueue->imq_qlimit) { in ipc_mqueue_set_qlimit_locked()
1508 wakeup = qlimit - mqueue->imq_qlimit; in ipc_mqueue_set_qlimit_locked()
1526 mqueue->imq_msgcount++; /* give it to the awakened thread */ in ipc_mqueue_set_qlimit_locked()
1529 mqueue->imq_qlimit = (uint16_t)qlimit; in ipc_mqueue_set_qlimit_locked()
1541 ipc_mqueue_t mqueue, in ipc_mqueue_set_seqno_locked() argument
1544 mqueue->imq_seqno = seqno; in ipc_mqueue_set_seqno_locked()