ph10 2007/06/27 12:01:52 BST
Modified files:
exim-doc/doc-txt ChangeLog NewStuff OptionLists.txt
exim-src/src daemon.c exim.c expand.c globals.c
globals.h macros.h readconf.c
exim-test/confs 0160
Added files:
exim-test/confs 0561
exim-test/log 0561
exim-test/scripts/0000-Basic 0561
exim-test/stderr 0561
exim-test/stdout 0561
Log:
Add queue_only_load_latch.
Revision Changes Path
1.520 +2 -0 exim/exim-doc/doc-txt/ChangeLog
1.154 +5 -0 exim/exim-doc/doc-txt/NewStuff
1.33 +2 -0 exim/exim-doc/doc-txt/OptionLists.txt
1.24 +36 -22 exim/exim-src/src/daemon.c
1.57 +34 -24 exim/exim-src/src/exim.c
1.88 +1 -1 exim/exim-src/src/expand.c
1.76 +3 -1 exim/exim-src/src/globals.c
1.56 +2 -0 exim/exim-src/src/globals.h
1.35 +6 -0 exim/exim-src/src/macros.h
1.30 +1 -0 exim/exim-src/src/readconf.c
1.2 +1 -1 exim/exim-test/confs/0160
1.1 +42 -0 exim/exim-test/confs/0561 (new)
1.1 +30 -0 exim/exim-test/log/0561 (new)
1.1 +43 -0 exim/exim-test/scripts/0000-Basic/0561 (new)
1.1 +2 -0 exim/exim-test/stderr/0561 (new)
1.1 +20 -0 exim/exim-test/stdout/0561 (new)
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.519
retrieving revision 1.520
diff -u -r1.519 -r1.520
--- ChangeLog 26 Jun 2007 11:16:54 -0000 1.519
+++ ChangeLog 27 Jun 2007 11:01:51 -0000 1.520
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.519 2007/06/26 11:16:54 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.520 2007/06/27 11:01:51 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -73,6 +73,8 @@
PH/13 Installed PCRE version 7.2. This needed some changes because of the new
way in which PCRE > 7.0 is built.
+
+PH/14 Implemented queue_only_load_latch.
Exim version 4.67
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -r1.153 -r1.154
--- NewStuff 26 Jun 2007 09:23:34 -0000 1.153
+++ NewStuff 27 Jun 2007 11:01:51 -0000 1.154
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.153 2007/06/26 09:23:34 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.154 2007/06/27 11:01:51 ph10 Exp $
New Features in Exim
--------------------
@@ -81,6 +81,11 @@
7. Host lists can now include +ignore_defer and +include_defer, analagous to
+ignore_unknown and +include_unknown. These options should be used with
care, probably only in non-critical host lists such as whitelists.
+
+ 8. There's a new option called queue_only_load_latch, which defaults true.
+ If set false when queue_only_load is greater than zero, Exim re-evaluates
+ the load for each incoming message in an SMTP session. Otherwise, once one
+ message is queued, the remainder are also.
Version 4.67
Index: OptionLists.txt
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/OptionLists.txt,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- OptionLists.txt 11 Apr 2007 15:26:10 -0000 1.32
+++ OptionLists.txt 27 Jun 2007 11:01:51 -0000 1.33
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.32 2007/04/11 15:26:10 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.33 2007/06/27 11:01:51 ph10 Exp $
LISTS OF EXIM OPTIONS
---------------------
@@ -126,6 +126,7 @@
check_string string "From " appendfile 3.03
unset pipe 3.03
check_srv string* unset dnslookup 4.31
+client_condition string* unset authenticators 4.68
client_ignore_invalid_base64 boolean false plaintext 4.61
client_name string* + cram_md5 3.10
client_secret string* unset cram_md5 3.10
@@ -398,6 +399,7 @@
queue_only boolean false main
queue_only_file string unset main 2.05
queue_only_load fixed-point unset main
+queue_only_load_latch boolean true main 4.68
queue_only_override boolean true main 4.21
queue_run_in_order boolean false main 1.70
queue_run_max integer 5 main
Index: daemon.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/daemon.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- daemon.c 14 Mar 2007 12:15:56 -0000 1.23
+++ daemon.c 27 Jun 2007 11:01:51 -0000 1.24
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/daemon.c,v 1.23 2007/03/14 12:15:56 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/daemon.c,v 1.24 2007/06/27 11:01:51 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -241,7 +241,7 @@
if (smtp_load_reserve >= 0)
{
- load_average = os_getloadavg();
+ load_average = OS_GETLOADAVG();
if (smtp_reserve_hosts == NULL && load_average > smtp_load_reserve)
{
DEBUG(D_any) debug_printf("rejecting SMTP connection: load average = %.2f\n",
@@ -365,6 +365,7 @@
int old_pool = store_pool;
int save_debug_selector = debug_selector;
BOOL local_queue_only;
+ BOOL session_local_queue_only;
#ifdef SA_NOCLDWAIT
struct sigaction act;
#endif
@@ -413,7 +414,7 @@
/* Initialize the queueing flags */
queue_check_only();
- local_queue_only = queue_only;
+ session_local_queue_only = queue_only;
/* Close the listening sockets, and set the SIGCHLD handler to SIG_IGN.
We also attempt to set things up so that children are automatically reaped,
@@ -457,13 +458,15 @@
if (debug_daemon) debug_selector = 0;
/* If there are too many child processes for immediate delivery,
- set the local_queue_only flag, which is initialized from the
+ set the session_local_queue_only flag, which is initialized from the
configured value and may therefore already be TRUE. Leave logging
- till later so it will have a message id attached. */
+ till later so it will have a message id attached. Note that there is no
+ possibility of re-calculating this per-message, because the value of
+ smtp_accept_count does not change in this subprocess. */
if (smtp_accept_queue > 0 && smtp_accept_count > smtp_accept_queue)
{
- local_queue_only = TRUE;
+ session_local_queue_only = TRUE;
queue_only_reason = 1;
}
@@ -550,26 +553,37 @@
store_reset(reset_point);
/* If queue_only is set or if there are too many incoming connections in
- existence, local_queue_only will be TRUE. If it is not, check whether we
- have received too many messages in this session for immediate delivery. If
- not, and queue_only_load is set, check that the load average is below it.
- Note that, once set, local_queue_only remains set for any subsequent
- messages on the same SMTP connection. This is a deliberate choice; even
- though the load average may fall, it doesn't seem right to deliver later
- messages on the same call when not delivering earlier ones. */
+ existence, session_local_queue_only will be TRUE. If it is not, check
+ whether we have received too many messages in this session for immediate
+ delivery. */
+
+ if (!session_local_queue_only &&
+ smtp_accept_queue_per_connection > 0 &&
+ receive_messagecount > smtp_accept_queue_per_connection)
+ {
+ session_local_queue_only = TRUE;
+ queue_only_reason = 2;
+ }
+
+ /* Initialize local_queue_only from session_local_queue_only. If it is not
+ true, and queue_only_load is set, check that the load average is below it.
+ If local_queue_only is set by this means, we also set if for the session if
+ queue_only_load_latch is true (the default). This means that, once set,
+ local_queue_only remains set for any subsequent messages on the same SMTP
+ connection. This is a deliberate choice; even though the load average may
+ fall, it doesn't seem right to deliver later messages on the same call when
+ not delivering earlier ones. However, the are special circumstances such as
+ very long-lived connections from scanning appliances where this is not the
+ best strategy. In such cases, queue_only_load_latch should be set false. */
- if (!local_queue_only)
+ local_queue_only = session_local_queue_only;
+ if (!local_queue_only && queue_only_load >= 0)
{
- if (smtp_accept_queue_per_connection > 0 &&
- receive_messagecount > smtp_accept_queue_per_connection)
- {
- local_queue_only = TRUE;
- queue_only_reason = 2;
- }
- else if (queue_only_load >= 0)
+ local_queue_only = (load_average = OS_GETLOADAVG()) > queue_only_load;
+ if (local_queue_only)
{
- local_queue_only = (load_average = os_getloadavg()) > queue_only_load;
- if (local_queue_only) queue_only_reason = 3;
+ queue_only_reason = 3;
+ if (queue_only_load_latch) session_local_queue_only = TRUE;
}
}
Index: exim.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- exim.c 19 Jun 2007 14:41:31 -0000 1.56
+++ exim.c 27 Jun 2007 11:01:51 -0000 1.57
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim.c,v 1.56 2007/06/19 14:41:31 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/exim.c,v 1.57 2007/06/27 11:01:51 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1291,6 +1291,7 @@
BOOL queue_only_set = FALSE;
BOOL receiving_message = TRUE;
BOOL sender_ident_set = FALSE;
+BOOL session_local_queue_only;
BOOL unprivileged;
BOOL removed_privilege = FALSE;
BOOL verify_address_mode = FALSE;
@@ -3643,7 +3644,7 @@
(is_inetd && smtp_load_reserve >= 0)
))
{
- load_average = os_getloadavg();
+ load_average = OS_GETLOADAVG();
}
#endif
@@ -4528,11 +4529,11 @@
sender_address);
}
-/* Initialize the local_queue-only flag (this will be ignored if mua_wrapper is
-set) */
+/* Initialize the session_local_queue-only flag (this will be ignored if
+mua_wrapper is set) */
queue_check_only();
-local_queue_only = queue_only;
+session_local_queue_only = queue_only;
/* For non-SMTP and for batched SMTP input, check that there is enough space on
the spool if so configured. On failure, we must not attempt to send an error
@@ -4891,27 +4892,36 @@
}
/* Else act on the result of message reception. We should not get here unless
- message_id[0] is non-zero. If queue_only is set, local_queue_only will be
- TRUE. If it is not, check on the number of messages received in this
- connection. If that's OK and queue_only_load is set, check that the load
- average is below it. If it is not, set local_queue_only TRUE. Note that it
- then remains this way for any subsequent messages on the same SMTP connection.
- This is a deliberate choice; even though the load average may fall, it
- doesn't seem right to deliver later messages on the same call when not
- delivering earlier ones. */
-
- if (!local_queue_only)
- {
- if (smtp_accept_queue_per_connection > 0 &&
- receive_messagecount > smtp_accept_queue_per_connection)
- {
- local_queue_only = TRUE;
- queue_only_reason = 2;
- }
- else if (queue_only_load >= 0)
+ message_id[0] is non-zero. If queue_only is set, session_local_queue_only
+ will be TRUE. If it is not, check on the number of messages received in this
+ connection. */
+
+ if (!session_local_queue_only &&
+ smtp_accept_queue_per_connection > 0 &&
+ receive_messagecount > smtp_accept_queue_per_connection)
+ {
+ session_local_queue_only = TRUE;
+ queue_only_reason = 2;
+ }
+
+ /* Initialize local_queue_only from session_local_queue_only. If it is false,
+ and queue_only_load is set, check that the load average is below it. If it is
+ not, set local_queue_only TRUE. If queue_only_load_latch is true (the
+ default), we put the whole session into queue_only mode. It then remains this
+ way for any subsequent messages on the same SMTP connection. This is a
+ deliberate choice; even though the load average may fall, it doesn't seem
+ right to deliver later messages on the same call when not delivering earlier
+ ones. However, there are odd cases where this is not wanted, so this can be
+ changed by setting queue_only_load_latch false. */
+
+ local_queue_only = session_local_queue_only;
+ if (!local_queue_only && queue_only_load >= 0)
+ {
+ local_queue_only = (load_average = OS_GETLOADAVG()) > queue_only_load;
+ if (local_queue_only)
{
- local_queue_only = (load_average = os_getloadavg()) > queue_only_load;
- if (local_queue_only) queue_only_reason = 3;
+ queue_only_reason = 3;
+ if (queue_only_load_latch) session_local_queue_only = TRUE;
}
}
Index: expand.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/expand.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- expand.c 22 Jun 2007 14:38:58 -0000 1.87
+++ expand.c 27 Jun 2007 11:01:51 -0000 1.88
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/expand.c,v 1.87 2007/06/22 14:38:58 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/expand.c,v 1.88 2007/06/27 11:01:51 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1446,7 +1446,7 @@
return var_buffer;
case vtype_load_avg:
- sprintf(CS var_buffer, "%d", os_getloadavg()); /* load_average */
+ sprintf(CS var_buffer, "%d", OS_GETLOADAVG()); /* load_average */
return var_buffer;
case vtype_host_lookup: /* Lookup if not done so */
Index: globals.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.c,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- globals.c 22 Jun 2007 14:38:58 -0000 1.75
+++ globals.c 27 Jun 2007 11:01:52 -0000 1.76
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.c,v 1.75 2007/06/22 14:38:58 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.c,v 1.76 2007/06/27 11:01:52 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -828,6 +828,7 @@
BOOL queue_only = FALSE;
uschar *queue_only_file = NULL;
int queue_only_load = -1;
+BOOL queue_only_load_latch = TRUE;
BOOL queue_only_override = TRUE;
BOOL queue_only_policy = FALSE;
BOOL queue_run_first_delivery = FALSE;
@@ -1006,7 +1007,7 @@
that compilers are now clever, and share constant strings if they can.
Elsewhere in Exim the string "<" is used. The compiler optimization seems to
make use of the end of this string in order to save space. So the patching then
-wrecks this. We default this optimization by adding some additional characters
+wrecks this. We defeat this optimization by adding some additional characters
onto the end of the string. */
uschar *running_status = US">>>running<<<" "\0EXTRA";
@@ -1163,6 +1164,7 @@
BOOL system_filtering = FALSE;
BOOL tcp_nodelay = TRUE;
+int test_harness_load_avg = 0;
int thismessage_size_limit = 0;
int timeout_frozen_after = 0;
BOOL timestamps_utc = FALSE;
Index: globals.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.h,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- globals.h 22 Jun 2007 14:38:58 -0000 1.55
+++ globals.h 27 Jun 2007 11:01:52 -0000 1.56
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.h,v 1.55 2007/06/22 14:38:58 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.h,v 1.56 2007/06/27 11:01:52 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -527,6 +527,7 @@
extern int queue_interval; /* Queue running interval */
extern BOOL queue_only; /* TRUE to disable immediate delivery */
extern int queue_only_load; /* Max load before auto-queue */
+extern BOOL queue_only_load_latch; /* Latch queue_only_load TRUE */
extern uschar *queue_only_file; /* Queue if file exists/not-exists */
extern BOOL queue_only_override; /* Allow override from command line */
extern BOOL queue_only_policy; /* ACL or local_scan wants queue_only */
@@ -735,6 +736,7 @@
extern BOOL system_filtering; /* TRUE when running system filter */
extern BOOL tcp_nodelay; /* Controls TCP_NODELAY on daemon */
+extern int test_harness_load_avg; /* For use when testing */
extern int thismessage_size_limit; /* Limit for this message */
extern int timeout_frozen_after; /* Max time to keep frozen messages */
extern BOOL timestamps_utc; /* Use UTC for all times */
Index: macros.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/macros.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- macros.h 19 Jun 2007 14:41:31 -0000 1.34
+++ macros.h 27 Jun 2007 11:01:52 -0000 1.35
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/macros.h,v 1.34 2007/06/19 14:41:31 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/macros.h,v 1.35 2007/06/27 11:01:52 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -13,6 +13,12 @@
#define mac_string(s) # s
#define mac_expanded_string(s) mac_string(s)
+
+
+/* When running in the test harness, the load average is fudged. */
+
+#define OS_GETLOADAVG() \
+ (running_in_test_harness? (test_harness_load_avg += 10) : os_getloadavg())
/* The address_item structure has a word full of 1-bit flags. These macros
Index: readconf.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/readconf.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- readconf.c 6 Feb 2007 11:11:40 -0000 1.29
+++ readconf.c 27 Jun 2007 11:01:52 -0000 1.30
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/readconf.c,v 1.29 2007/02/06 11:11:40 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/readconf.c,v 1.30 2007/06/27 11:01:52 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -302,6 +302,7 @@
{ "queue_only", opt_bool, &queue_only },
{ "queue_only_file", opt_stringptr, &queue_only_file },
{ "queue_only_load", opt_fixed, &queue_only_load },
+ { "queue_only_load_latch", opt_bool, &queue_only_load_latch },
{ "queue_only_override", opt_bool, &queue_only_override },
{ "queue_run_in_order", opt_bool, &queue_run_in_order },
{ "queue_run_max", opt_int, &queue_run_max },
Index: 0561
====================================================================
# Exim test configuration 0561
QOLL=true
exim_path = EXIM_PATH
host_lookup_order = bydns
primary_hostname = myhost.test.ex
rfc1413_query_timeout = 0s
spool_directory = DIR/spool
log_file_path = DIR/spool/log/%slog
gecos_pattern = ""
gecos_name = CALLER_NAME
# ----- Main settings -----
acl_smtp_rcpt = accept
queue_only_load = 0.001
queue_only_load_latch = QOLL
queue_run_in_order
# ----- Routers -----
begin routers
r1:
driver = manualroute
route_data = 127.0.0.1
self = send
transport = t1
# ----- Transports -----
begin transports
t1:
driver = smtp
port = PORT_D
# End
Index: 0160
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0160,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0160 7 Feb 2006 10:34:25 -0000 1.1
+++ 0160 27 Jun 2007 11:01:52 -0000 1.2
@@ -43,7 +43,7 @@
begin retry
-* * F,1s,1s
+* * F,2s,1s
# End
Index: 0561
====================================================================
1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local-smtp S=sss
1999-03-02 09:44:33 10HmaX-0005vi-00 no immediate delivery: load average 0.01
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local-smtp S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 no immediate delivery: load average 0.01
1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225
1999-03-02 09:44:33 Start queue run: pid=pppp -qq
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtp S=sss id=E10HmaX-0005vi-00@???
1999-03-02 09:44:33 10HmaZ-0005vi-00 no immediate delivery: load average 0.01
1999-03-02 09:44:33 10HmaX-0005vi-00 => userx@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1]
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtp S=sss id=E10HmaY-0005vi-00@???
1999-03-02 09:44:33 10HmbA-0005vi-00 no immediate delivery: load average 0.01
1999-03-02 09:44:33 10HmaY-0005vi-00 => usery@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1]*
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qq
1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225
1999-03-02 09:44:33 Start queue run: pid=pppp -qq
1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtp S=sss id=E10HmaX-0005vi-00@???
1999-03-02 09:44:33 10HmbB-0005vi-00 no immediate delivery: load average 0.01
1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1]
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@??? H=localhost (myhost.test.ex) [127.0.0.1] P=esmtp S=sss id=E10HmaY-0005vi-00@???
1999-03-02 09:44:33 10HmbC-0005vi-00 no immediate delivery: load average 0.02
1999-03-02 09:44:33 10HmbA-0005vi-00 => usery@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1]*
1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
1999-03-02 09:44:33 End queue run: pid=pppp -qq
1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@??? U=CALLER P=local-smtp S=sss
1999-03-02 09:44:33 10HmbD-0005vi-00 no immediate delivery: load average 0.01
1999-03-02 09:44:33 10HmbE-0005vi-00 <= CALLER@??? U=CALLER P=local-smtp S=sss
1999-03-02 09:44:33 10HmbE-0005vi-00 no immediate delivery: load average 0.02
Index: 0561
====================================================================
# queue_only_load and queue_only_load_latch
need_ipv4
#
exim -bs
mail from:<>
rcpt to:<userx@???>
data
Message 1.
.
mail from:<>
rcpt to:<usery@???>
data
Message 2.
.
quit
****
exim -DSERVER=server -bd -oX PORT_D
****
exim -qq
****
sleep 1
killdaemon
exim -DQOLL=false -DSERVER=server -bd -oX PORT_D
****
exim -qq
****
sleep 1
killdaemon
#
exim -bs -DQOLL=false
mail from:<>
rcpt to:<userx@???>
data
Message 3.
.
mail from:<>
rcpt to:<usery@???>
data
Message 4.
.
quit
****
no_msglog_check
Index: 0561
====================================================================
******** SERVER ********
Index: 0561
====================================================================
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
250 OK id=10HmaX-0005vi-00
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
250 OK id=10HmaY-0005vi-00
221 myhost.test.ex closing connection
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
250 OK id=10HmbD-0005vi-00
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
250 OK id=10HmbE-0005vi-00
221 myhost.test.ex closing connection