With signals blocked first, the fixture’s five SIGUSR1 sends coalesce into one pending instance, while three SIGRTMIN sends remain three queued instances. Real-time queue resources remain finite.

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
In the historical article fixture, a child at soft limit 32 has descriptor numbers 0 through 31 occupied and gets EMFILE. Its preopened pipe reports to a controller that can still open a file.

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 · 5 min · XB Field Notes