Skip to main content

Module exact

Module exact 

Source
Expand description

The kernel’s exact refusal, for the few programs whose job is to tell refusals apart.

Error is deliberately coarse: a sender is told whether the message left, not which of the kernel’s reasons stopped it, because almost every caller does the same thing about all of them (CLAUDE.md 7.7). Two kinds of program genuinely act on the difference, and this is for them:

  • a conformance test, whose whole purpose is to assert that the kernel answered EndpointDead and not CapNotHeld (services/probe, the section 22 suites);
  • a fault injector that counts deaths (chaos), where a dead endpoint is a kill landing and a stale or revoked capability is not.

An ordinary service uses the functions below, at this module’s top level. Reaching for these to log a more specific reason is the wrong trade: the coarse answer is the one with a defined obligation attached to it.

Enums§

CapError
Errors mirrored from the kernel’s CapError (§7.7).
IpcError

Functions§

send
super::send, reporting the kernel’s own refusal.
send_granting
super::send_granting, reporting the kernel’s own refusal.
send_to
super::send_to, reporting the kernel’s own refusal.
try_send
super::try_send, reporting the kernel’s own refusal.
try_send_to
super::try_send_to, reporting the kernel’s own refusal.