| Previous | Next |
| MACH_MSG_IPC_SPACE | MACH_SEND_IN_PROGRESS |
MACH_MSG_MASK
This value is a mask, not a standalone failure
MACH_MSG_MASK collects the special resource-shortage bits that can be ORed into selected mach_msg results. Comparing a raw result directly with MACH_RCV_BODY_ERROR or a send timeout can therefore fail when one of these bits is present. Diagnostic code should split the value into its primary result and supplemental flags.
| Flag | Resource that could not be transferred |
|---|---|
MACH_MSG_VM_KERNEL | Out-of-line memory because of kernel VM-resource pressure |
MACH_MSG_IPC_KERNEL | A port right because of kernel IPC-resource pressure |
MACH_MSG_VM_SPACE | Out-of-line memory because the task lacks VM address space |
MACH_MSG_IPC_SPACE | A port right because the task lacks an IPC namespace slot |
Safe decoding
special = result & MACH_MSG_MASK;
base = result & ~MACH_MSG_MASK;
The base value determines whether a message was not dequeued, was dequeued with header/body damage, or was returned by send pseudo-receive. The flags refine the cause; they do not replace the base result’s ownership and cleanup semantics.
References
Looking for a different code? Search another status or error code.
