packages: exim/exim.spec, exim/exim-force-sigalrm.patch (NEW) - rel 9; prot...
arekm
arekm at pld-linux.org
Sun Jun 7 11:38:43 CEST 2009
Author: arekm Date: Sun Jun 7 09:38:43 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- rel 9; protect against systems that leak SIGALRM (unknown reason for that)
---- Files affected:
packages/exim:
exim.spec (1.306 -> 1.307) , exim-force-sigalrm.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/exim/exim.spec
diff -u packages/exim/exim.spec:1.306 packages/exim/exim.spec:1.307
--- packages/exim/exim.spec:1.306 Thu Apr 30 21:45:05 2009
+++ packages/exim/exim.spec Sun Jun 7 11:38:38 2009
@@ -16,7 +16,7 @@
Summary(pt_BR.UTF-8): Servidor de correio eletrônico exim
Name: exim
Version: 4.69
-Release: 8
+Release: 9
Epoch: 2
License: GPL
Group: Networking/Daemons/SMTP
@@ -54,6 +54,7 @@
Patch7: %{name}_463_dsn_1_3.patch
Patch8: %{name}-spam-timeout.patch
Patch9: %{name}-fixes.patch
+Patch10: %{name}-force-sigalrm.patch
URL: http://www.exim.org/
%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.1.0}
BuildRequires: db-devel
@@ -164,6 +165,7 @@
%patch7 -p1
%patch8 -p1
%patch9 -p1
+%patch10 -p1
install %{SOURCE13} doc/FAQ.txt.bz2
install %{SOURCE14} doc/config.samples.tar.bz2
@@ -325,6 +327,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.307 2009/06/07 09:38:38 arekm
+- rel 9; protect against systems that leak SIGALRM (unknown reason for that)
+
Revision 1.306 2009/04/30 19:45:05 arekm
- release 8
================================================================
Index: packages/exim/exim-force-sigalrm.patch
diff -u /dev/null packages/exim/exim-force-sigalrm.patch:1.1
--- /dev/null Sun Jun 7 11:38:43 2009
+++ packages/exim/exim-force-sigalrm.patch Sun Jun 7 11:38:38 2009
@@ -0,0 +1,49 @@
+--- exim-4.69.org/src/daemon.c 2009-06-01 23:02:02.505119117 +0200
++++ exim-4.69/src/daemon.c 2009-06-01 23:09:58.088404461 +0200
+@@ -25,7 +25,7 @@
+
+ static smtp_slot empty_smtp_slot = { 0, NULL };
+
+-
++static time_t sigalrm_seen_last;
+
+ /*************************************************
+ * Local static variables *
+@@ -1603,6 +1603,8 @@
+
+ smtp_input = TRUE;
+
++time(&sigalrm_seen_last);
++
+ /* Enter the never-ending loop... */
+
+ for (;;)
+@@ -1624,6 +1626,8 @@
+ {
+ DEBUG(D_any) debug_printf("SIGALRM received\n");
+
++ time(&sigalrm_seen_last);
++
+ /* Do a full queue run in a child process, if required, unless we already
+ have enough queue runners on the go. If we are not running as root, a
+ re-exec is required. */
+@@ -1885,11 +1889,19 @@
+
+ else
+ {
++ int time_diff;
+ struct timeval tv;
+ tv.tv_sec = queue_interval;
+ tv.tv_usec = 0;
+ select(0, NULL, NULL, NULL, &tv);
+ handle_ending_processes();
++
++ time_diff = (int)difftime(time(NULL), sigalrm_seen_last);
++ if ((queue_interval > 0) && (time_diff > (2*queue_interval)))
++ {
++ sigalrm_seen = TRUE;
++ log_write(0, LOG_MAIN|LOG_PANIC, "daemon: queue-runner not run for %lds. Forcing. Is SIGALRM delivery broken on this system ?", time_diff);
++ }
+ }
+
+ /* Re-enable the SIGCHLD handler if it has been run. It can't do it
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/exim/exim.spec?r1=1.306&r2=1.307&f=u
More information about the pld-cvs-commit
mailing list