RE: [Exim] frozen after connect timeout

Pàgina inicial
Delete this message
Reply to this message
Autor: A. Wik
Data:  
A: Tamas TEVESZ
CC: exim-users
Assumpte: RE: [Exim] frozen after connect timeout
On Wed, 14 Apr 2004, Tamas TEVESZ wrote:

> On Wed, 14 Apr 2004, A. Wik wrote:
>
> > Yes, I asked nearly the same question. What I'd like to know
> > is if there's any logic to this behaviour, or if it's a bug.
> > It doesn't (thank goodness) happen every time a connection
> > attempt times out.
>
> that has been discussed before; it's most probably a bug, likely to be
> a leftover alarm() somewhere. its pretty easy to work around it,
> though - just set auto_thaw < timeout_frozen_after (and have some
> queue runners running the queue, every now and then) . it rarely ever
> happens twice to the same message on my lightly loaded boxes.


I patched it as follows and recompiled:

--- ../exim-4.30-virgin/src/deliver.c   2003-12-01 10:15:41.000000000 +0000
+++ src/deliver.c       2004-04-14 02:14:49.000000000 +0000
@@ -1865,7 +1865,8 @@
   int msb = (status >> 8) & 255;
   int lsb = status & 255;
   int code = (msb == 0)? (lsb & 0x7f) : msb;
-  if (msb != 0 || (code != SIGTERM && code != SIGKILL && code != SIGQUIT))
+  if (msb != 0 || (code != SIGTERM && code != SIGKILL && code != SIGQUIT &&
+    code != SIGALRM))
     addr->special_action = SPECIAL_FREEZE;
   log_write(0, LOG_MAIN|LOG_PANIC, "%s transport process returned non-zero "
     "status 0x%04x: %s %d",


-aw