From 8cb09c01c4cb3624f06bd2b715dedc0465dce4e9 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Tue, 8 Oct 2024 15:28:04 -0400 Subject: [PATCH] fix domain pool: block signals in background threads close #35 --- src/dpool/moonpool_dpool.ml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/dpool/moonpool_dpool.ml b/src/dpool/moonpool_dpool.ml index e396d716..6119e252 100644 --- a/src/dpool/moonpool_dpool.ml +++ b/src/dpool/moonpool_dpool.ml @@ -96,6 +96,11 @@ let domains_ : (worker_state option * Domain_.t option) Lock.t array = in a tight loop), and if nothing happens it tries to stop to free resources. *) let work_ idx (st : worker_state) : unit = + Thread.sigmask SIG_BLOCK + [ + Sys.sigpipe; Sys.sigbus; Sys.sigterm; Sys.sigint; Sys.sigusr1; Sys.sigusr2; + ] + |> ignore; let main_loop () = let continue = ref true in while !continue do