diff --git a/src/signal_handler.c b/src/signal_handler.c index 0ca317ddb816fd54242dae0e0b6ce5ba082b8db5..5b4c6295bf9127c927e29817346b37b7f0af8cef 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -2,7 +2,7 @@ || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information. -|| $Id: signal_handler.c,v 1.324 2007/01/13 15:49:40 grubba Exp $ +|| $Id: signal_handler.c,v 1.325 2007/05/17 11:29:45 grubba Exp $ */ #include "global.h" @@ -4761,6 +4761,21 @@ PMOD_EXPORT void low_init_signals(void) my_signal(SIGFPE, SIG_IGN); #endif + /* SIGPIPE */ +#ifdef SIGPIPE +#ifdef PIKE_EXTRA_DEBUG + set_pike_debug_options(DEBUG_SIGNALS, DEBUG_SIGNALS); +#endif + if (set_pike_debug_options(0,0) & DEBUG_SIGNALS) { + if (sizeof(void *) == 8) { + /* 64-bit Solaris 10 in Xenofarm fails with SIGPIPE. + * Force a core dump. + */ + my_signal(SIGPIPE, abort); + } + } +#endif + /* Restore aby custom signals if needed. */ for(e=0;e<MAX_SIGNALS;e++) {