Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37491984
en ru br
Репозитории ALT
S:2.3.15-alt6
5.1: 2.3.14-alt3
4.1: 2.3.14-alt3
4.0: 2.3.14-alt2
3.0: 2.3.13-alt4
www.altlinux.org/Changes

Группа :: Система/Основа
Пакет: xinetd

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: xinetd-2.3.14-rh-signal-log-hang.patch
Скачать


--- a/xinetd/signals.c	2009-05-07 05:56:52.000000000 -0400
+++ b/xinetd/signals.c.new	2009-05-07 05:56:44.000000000 -0400
@@ -389,9 +390,11 @@
          break ;
       
       default:
-         msg( LOG_NOTICE, func, "Unexpected signal %s", sig_name( sig ) ) ;
-         if ( debug.on && sig == SIGINT )
-            exit( 1 ) ;
+         /* Let my_handler() queue this signal for later logging.
+            Calling msg() and thus syslog() directly here can hang up
+            the process, trying to acquire an already acquired lock,
+            because another syslog() could have been the interrupted code. */
+         my_handler(sig);
    }
 }
 
@@ -495,6 +497,9 @@
          default:
             msg(LOG_ERR, func, "unexpected signal: %s in signal pipe", 
                sig_name(sig));
+
+            if ( debug.on && sig == SIGINT )
+               exit( 1 ) ;
       }
    }
 }
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin