Lines Matching refs:receiver
339 * and a send right to copyout to the receiver.
1163 thread_t receiver;
1172 receiver = wait_queue_wakeup64_identity_locked(waitq,
1176 /* queue still locked, receiver thread locked (if any) */
1178 if ( receiver == THREAD_NULL ) {
1189 * Check that the receiver can handle the size of the message.
1190 * If not, and the receiver just wants to be informed of that
1197 if (receiver->ith_msize <
1198 ipc_kmsg_copyout_size(kmsg, receiver->map) +
1199 REQUESTED_TRAILER_SIZE(receiver->ith_option))
1201 receiver->ith_msize = kmsg->ikm_header->msgh_size;
1202 receiver->ith_state = MACH_RCV_TOO_LARGE;
1204 if ((receiver->ith_option & MACH_RCV_LARGE) != 0) {
1205 receiver->ith_kmsg = IKM_NULL;
1206 receiver->ith_seqno = 0;
1207 thread_unlock(receiver);
1212 receiver->ith_state = MACH_MSG_SUCCESS;
1219 * Store the kmsg and seqno where the receiver can pick it up.
1222 receiver->ith_kmsg = kmsg;
1223 receiver->ith_seqno = dest_mqueue->imq_seqno++;
1224 thread_unlock(receiver);