From: cristy Date: Sun, 25 Jan 2015 23:54:21 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~1362 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ee17289e72dd88764eb79807d941507882c21c76;p=imagemagick --- diff --git a/MagickCore/magick.c b/MagickCore/magick.c index 7a020241f..5455f6ceb 100644 --- a/MagickCore/magick.c +++ b/MagickCore/magick.c @@ -122,7 +122,8 @@ static SplayTreeInfo *magick_list = (SplayTreeInfo *) NULL; static volatile MagickBooleanType - instantiate_magickcore = MagickFalse; + instantiate_magickcore = MagickFalse, + magickcore_signal_in_progress = MagickFalse; /* Forward declarations. @@ -1168,11 +1169,10 @@ static SignalHandler *SetMagickSignalHandler(int signal_number, static void MagickSignalHandler(int signal_number) { -#if !defined(MAGICKCORE_HAVE_SIGACTION) - (void) signal(signal_number,SIG_IGN); -#endif + if (magickcore_signal_in_progress != MagickFalse) + (void) SetMagickSignalHandler(signal_number,signal_handlers[signal_number]); + magickcore_signal_in_progress=MagickTrue; AsynchronousResourceComponentTerminus(); - (void) SetMagickSignalHandler(signal_number,signal_handlers[signal_number]); #if defined(SIGQUIT) if (signal_number == SIGQUIT) abort();