From ab17b262bcb4990898c70f7f975e3bc4983fccc2 Mon Sep 17 00:00:00 2001 From: Hui Zhou Date: Thu, 22 Dec 2022 16:01:20 -0600 Subject: [PATCH] ch3/sock: ignore SIGUSR1 When hydra's -disable-auto-cleanup, it sends SIGUSR1 to notify process failures. ch3:sock does not support this feature, but at least ignore the signal to prevent it being killed by it. --- configure.ac | 4 ++++ src/mpid/ch3/channels/nemesis/subconfigure.m4 | 4 ---- src/mpid/ch3/channels/sock/src/sock.c | 6 ++++++ src/mpid/ch4/subconfigure.m4 | 4 ---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/configure.ac b/configure.ac index b0ad8f72db2..9b4069179b9 100644 --- a/configure.ac +++ b/configure.ac @@ -3699,6 +3699,10 @@ if test "$enable_g_mem" != "yes" ; then fi fi +# make sure we support signal +AC_CHECK_HEADERS(signal.h) +AC_CHECK_FUNCS(signal) + # ---------------------------------------------------------------------------- # Look for some non-posix, but commonly provided functions # ---------------------------------------------------------------------------- diff --git a/src/mpid/ch3/channels/nemesis/subconfigure.m4 b/src/mpid/ch3/channels/nemesis/subconfigure.m4 index 4615868b7a9..6186a45cce9 100644 --- a/src/mpid/ch3/channels/nemesis/subconfigure.m4 +++ b/src/mpid/ch3/channels/nemesis/subconfigure.m4 @@ -94,10 +94,6 @@ fi AC_ARG_ENABLE(fast, [--enable-fast - pick the appropriate options for fast execution. This turns off error checking and timing collection],,enable_fast=no) -# make sure we support signal -AC_CHECK_HEADERS(signal.h) -AC_CHECK_FUNCS(signal) - nemesis_nets_dirs="" nemesis_nets_strings="" nemesis_nets_array="" diff --git a/src/mpid/ch3/channels/sock/src/sock.c b/src/mpid/ch3/channels/sock/src/sock.c index 4a75dd846cb..582b8027075 100644 --- a/src/mpid/ch3/channels/sock/src/sock.c +++ b/src/mpid/ch3/channels/sock/src/sock.c @@ -1200,6 +1200,12 @@ int MPIDI_CH3I_Sock_init(void) MPIDI_CH3I_DBG_SOCK_CONNECT = MPL_dbg_class_alloc("SOCK_CONNECT", "sock_connect"); #endif +#ifdef HAVE_SIGNAL + /* ch3:sock do not support fault-tolerance feature, disable the signal so + * hydra's -disable-auto-cleanup can still work */ + signal(SIGUSR1, SIG_IGN); +#endif + MPIDI_CH3I_Socki_initialized++; MPIR_FUNC_EXIT; diff --git a/src/mpid/ch4/subconfigure.m4 b/src/mpid/ch4/subconfigure.m4 index ab79070828f..60b72dd6f52 100644 --- a/src/mpid/ch4/subconfigure.m4 +++ b/src/mpid/ch4/subconfigure.m4 @@ -395,10 +395,6 @@ if test "$ac_cv_func_gethostname" = "yes" ; then PAC_FUNC_NEEDS_DECL([#include ],gethostname) fi -# make sure we support signal -AC_CHECK_HEADERS(signal.h) -AC_CHECK_FUNCS(signal) - AC_CONFIG_FILES([ src/mpid/ch4/src/mpid_ch4_net_array.c src/mpid/ch4/include/netmodpre.h