The deterministic_select! macro waits on multiple async operations simultaneously,
returning when one of them completes. Branch ordering is determined by GlobalRng
for deterministic but fair selection.
Enable the #4549 fast-exit behaviour: a fatal (non-graceful) network event
listener exit will abort the process with [FATAL_LISTENER_EXIT_CODE] for a
prompt service-manager restart, rather than risk hanging in teardown. Call once
from the production node entry point. See [ABORT_ON_FATAL_LISTENER_EXIT].
Enable the #4604 redb-poison fast-exit. Once the contract storage layer detects
that the redb database is poisoned (a transient I/O error left redb returning
“Previous I/O error occurred. Please close and re-open the database.” from every
transaction), the process exits so the service manager restarts it with a fresh
handle and the health / auto-update hooks fire — instead of the node staying
“running” while 100% of contract operations fail forever. Call once from the
production node entry point. See [ABORT_ON_REDB_POISON].
Opt in to the distinct [FAST_CRASH_EXIT_CODE] for fast boot-crashes (#4551).
Call ONLY from the production node entry point, and ONLY after confirming the
supervising systemd unit advertises support for exit 45 (see the entry point’s
marker check). See [EMIT_FAST_CRASH_EXIT_CODE].