Bug#631457: detail

Jasen Betts jasen at treshna.com
Fri Jun 24 06:15:52 UTC 2011


the problem seems to be the "slightly experimental code" (so called in
the source!) in deliver.c

If it sees address_count_max == 1 it doesn't try to route multiple
messages through a connection even when this would be desirable:

here's a patch that seems to work for my usage case, 
someone who really understands this stuff should probably review it.

there may well be more wrong with the experimental code than just this
case, and/or my code may break other cases.


-- 
Jasen Betts
treshna Enterprises Ltd
Tel: +64 3 974 9169 or 0800 894 149  
(for Jasen dial ext 204 when the voice starts)
Fax: +64 28 894 860
Web: www.treshna.com
267 Madras Street, Christchurch, New Zealand
IT Consultancy - Websites - Database development - Computer tech support

-------------- next part --------------
diff -C5 -r exim4-4.72/src/deliver.c exim4-4.72.fixed/src/deliver.c
*** exim4-4.72/src/deliver.c	2011-06-24 18:14:45.325698987 +1200
--- exim4-4.72.fixed/src/deliver.c	2011-06-24 18:13:48.913698961 +1200
***************
*** 3549,3558 ****
--- 3549,3567 ----
      message_max -= continue_sequence - 1;
      if (message_max > 0 && new_max > address_count_max * message_max)
        new_max = address_count_max * message_max;
      address_count_max = new_max;
      }
+ 	else if (address_count_max == 1 && remote_max_parallel ==1)
+ 	{
+ 		 if (connection_max_messages >= 0) 
+ 			address_count_max = connection_max_messages;
+ 		 else
+ 			address_count_max = 99999;
+ 	}
+ 
+ 
  
    /************************************************************************/
  
  
    /* Pick off all addresses which have the same transport, errors address,


More information about the Pkg-exim4-maintainers mailing list