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