CVSROOT: /cvs
Module name: ports
Changes by: [email protected] 2026/09/23 09:28:51
Modified files:
net/isc-bind : Makefile
Added files:
net/isc-bind/patches: patch-lib_isc_work_c
Log message:
isc-bind: cherry-pick "Retry FUTEX_WAIT on ECANCELED in the worker threads",
fixing a crash when a signal reaches an idle worker thread.
OpenBSD's futex(2) returns ECANCELED rather than EINTR when FUTEX_WAIT
is interrupted by a signal with SA_RESTART set, and liburcu passes that
errno through unchanged. The worker slumber loop only retried on EINTR
and treated anything else as fatal, so such a signal delivered to a
sleeping worker aborted the process. Retry on ECANCELED as well.
https://gitlab.isc.org/isc-projects/bind9/-/work_items/6427
https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/12766
https://gitlab.isc.org/isc-projects/bind9/-/commit/2e7855b15770827fc734890ad1926e72e1567736
issue reported by Stephane Tranchemer, recent commits found by caspar@, thanks.