A call to exiwhat no longer cuts short ACL delays set by the "delay"
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 4 Jan 2005 11:01:33 +0000 (11:01 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 4 Jan 2005 11:01:33 +0000 (11:01 +0000)
modifier.

doc/doc-txt/ChangeLog
src/src/acl.c

index 297303ad6ed2bd0477266d3d06201defe8fa2f00..3e8b8d9350d668644a2ecc0684df7ed2c038fdd7 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.61 2005/01/04 10:37:55 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.62 2005/01/04 11:01:33 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -281,6 +281,9 @@ Exim version 4.50
     necessary for the benefit of the queue runner, because there is no re-exec
     when deliver_drop_privilege is set.
 
     necessary for the benefit of the queue runner, because there is no re-exec
     when deliver_drop_privilege is set.
 
+64. A call to exiwhat cut short delays set up by "delay" modifiers in ACLs.
+    This has been fixed.
+
 
 Exim version 4.43
 -----------------
 
 Exim version 4.43
 -----------------
index 014721f12b15e07982118b33c7fce33484fba727..14fd2a0729b970192e4f0940b9b288bfc8518841 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/acl.c,v 1.11 2005/01/04 10:00:42 ph10 Exp $ */
+/* $Cambridge: exim/src/src/acl.c,v 1.12 2005/01/04 11:01:33 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -1728,7 +1728,10 @@ for (; cb != NULL; cb = cb->next)
           HDEBUG(D_acl)
             debug_printf("delay skipped in -bh checking mode\n");
           }
           HDEBUG(D_acl)
             debug_printf("delay skipped in -bh checking mode\n");
           }
-        else sleep(delay);
+        else 
+          {
+          while (delay > 0) delay = sleep(delay);
+          } 
         }
       }
     break;
         }
       }
     break;