Blocked standard signals can merge, while termination cleanup depends on the program’s installed behavior.

A signal has a disposition, a mask, and delivery rules

Signals notify processes or threads of events using kernel-defined delivery rules. A signal’s disposition selects a default action, an installed handler, or ignoring it where permitted. A thread’s mask can block delivery of eligible signals while they remain pending. Separating disposition, masking, and pending state is essential when a program appears to miss repeated notifications or fails to stop as expected. ...

November 23, 2026 · 5 min · XB Field Notes
An exhausted child cannot allocate a descriptor while its controller still can.

Diagnose descriptor exhaustion in the process that fails

A process needs file descriptors for more than ordinary files. Network sockets, pipes, event interfaces, and duplicated references all compete for entries in its descriptor table. RLIMIT_NOFILE limits the descriptor numbers available to new allocations: the soft limit is one greater than the maximum permitted number. A service can therefore fail to accept work even while the machine has plenty of disk space and memory. ...

October 27, 2026 · 4 min · XB Field Notes