| Previous | Next |
| MACH_RCV_PORT_DIED | MACH_RCV_HEADER_ERROR |
MACH_RCV_IN_SET
Compatibility status for port-set membership
MACH_RCV_IN_SET historically indicated that the caller named an individual receive right that was already a member of a port set. Mach receive semantics distinguish receiving from one port from receiving through the set: a set can deliver a message from any member, and the received header identifies which member supplied it. Current XNU headers keep this numeric value for compatibility but state that it is no longer returned.
Code that manages port sets should therefore validate its topology directly instead of depending on this legacy error. Concurrent membership changes require synchronization because a receive thread, a reconfiguration thread, and a shutdown path may otherwise disagree about which object owns reception.
What to inspect
- Confirm whether the intended receive name is the set itself or an individual member port.
- Inventory membership before starting worker threads and log every move into or out of a set.
- If the status appears on current macOS, trace its producer; it may originate from old telemetry or a non-XNU implementation.
- Do not remove a port from a set merely to suppress the code unless direct reception is part of the design.
References
Looking for a different code? Search another status or error code.