[exim-cvs] Move the fast-ramp two phase queue run support fr…

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Exim Git Commits Mailing List
Datum:  
To: exim-cvs
Betreff: [exim-cvs] Move the fast-ramp two phase queue run support from Experimental to the mainline
Gitweb: https://git.exim.org/exim.git/commitdiff/0725fcc5aa930ce1d9f5e9d37639b2728d9cc260
Commit:     0725fcc5aa930ce1d9f5e9d37639b2728d9cc260
Parent:     8ca559c846f149eda900c581cc4c0ce0cacb89c2
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sat May 9 18:00:08 2020 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sat May 9 18:00:08 2020 +0100


    Move the fast-ramp two phase queue run support from Experimental to the mainline
---
 doc/doc-txt/ChangeLog     |  6 ++++++
 doc/doc-txt/NewStuff      |  7 +++++++
 src/src/EDITME            |  8 ++++----
 src/src/config.h.defaults |  2 +-
 src/src/daemon.c          | 14 +++++++-------
 src/src/exim.c            | 12 ++++++------
 src/src/functions.h       |  2 +-
 src/src/globals.c         |  2 +-
 src/src/globals.h         |  2 +-
 src/src/queue.c           |  2 +-
 src/src/readconf.c        |  2 +-
 src/src/transport.c       |  2 +-
 12 files changed, 37 insertions(+), 24 deletions(-)


diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 3cd92b8..6277726 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -3,6 +3,12 @@ affect Exim's operation, with an unchanged configuration file. For new
options, and new features, see the NewStuff file next to this ChangeLog.


+Since Exim version 4.94
+----------------------
+
+(none yet)
+
+
Exim version 4.94
-----------------

diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff
index c29525d..7f8f628 100644
--- a/doc/doc-txt/NewStuff
+++ b/doc/doc-txt/NewStuff
@@ -6,6 +6,13 @@ Before a formal release, there may be quite a lot of detail so that people can
test from the snapshots or the Git before the documentation is updated. Once
the documentation is updated, this file is reduced to a short list.

+Version 4.95
+------------
+
+ 1. The fast-ramp two phase queue run support, previously experimental, is
+    now supported by default.
+
+
 Version 4.94
 ------------


diff --git a/src/src/EDITME b/src/src/EDITME
index 8d85523..c6f30b5 100644
--- a/src/src/EDITME
+++ b/src/src/EDITME
@@ -561,7 +561,6 @@ DISABLE_MAL_MKS=yes
# DISABLE_DNSSEC=yes

# To disable support for Events set DISABLE_EVENT to "yes"
-
# DISABLE_EVENT=yes


@@ -570,6 +569,10 @@ DISABLE_MAL_MKS=yes
# SUPPORT_PIPE_CONNECT=yes


+# Uncomment the following to remove the fast-ramp two-phase-queue-run support
+# DISABLE_QUEUE_RAMP=yes
+
+
#------------------------------------------------------------------------------
# Compiling Exim with experimental features. These are documented in
# experimental-spec.txt. "Experimental" means that the way these features are
@@ -632,9 +635,6 @@ DISABLE_MAL_MKS=yes
# Uncomment the following line to include support for TLS Resumption
# EXPERIMENTAL_TLS_RESUME=yes

-# Uncomment the following to include the fast-ramp two-phase-queue-run support
-# EXPERIMENTAL_QUEUE_RAMP=yes
-
 ###############################################################################
 #                 THESE ARE THINGS YOU MIGHT WANT TO SPECIFY                  #
 ###############################################################################
diff --git a/src/src/config.h.defaults b/src/src/config.h.defaults
index e17f015..bc3beb9 100644
--- a/src/src/config.h.defaults
+++ b/src/src/config.h.defaults
@@ -52,6 +52,7 @@ Do not put spaces between # and the 'define'.
 #define DISABLE_OCSP
 #define DISABLE_PIPE_CONNECT
 #define DISABLE_PRDR
+#define DISABLE_QUEUE_RAMP
 #define DISABLE_TLS
 #define DISABLE_D_OPTION


@@ -202,7 +203,6 @@ Do not put spaces between # and the 'define'.
 #define EXPERIMENTAL_DCC
 #define EXPERIMENTAL_DSN_INFO
 #define EXPERIMENTAL_LMDB
-#define EXPERIMENTAL_QUEUE_RAMP
 #define EXPERIMENTAL_QUEUEFILE
 #define EXPERIMENTAL_SRS
 #define EXPERIMENTAL_SRS_NATIVE
diff --git a/src/src/daemon.c b/src/src/daemon.c
index 2bed143..1816537 100644
--- a/src/src/daemon.c
+++ b/src/src/daemon.c
@@ -1138,14 +1138,14 @@ for (struct cmsghdr * cp = CMSG_FIRSTHDR(&msg);
 buf[sz] = 0;
 switch (buf[0])
   {
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
   case NOTIFY_MSG_QRUN:
     /* this should be a message_id */
     DEBUG(D_queue_run)
       debug_printf("%s: qrunner trigger: %s\n", __FUNCTION__, buf+1);
     memcpy(queuerun_msgid, buf+1, MESSAGE_ID_LENGTH+1);
     return TRUE;
-#endif    /*EXPERIMENTAL_QUEUE_RAMP*/
+#endif


   case NOTIFY_QUEUE_SIZE_REQ:
     {
@@ -2120,7 +2120,7 @@ for (;;)
     else
       {
       DEBUG(D_any) debug_printf("%s received\n",
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
     *queuerun_msgid ? "qrun notification" :
 #endif
     "SIGALRM");
@@ -2165,7 +2165,7 @@ for (;;)
             *p++ = '-';
             *p++ = 'q';
             if (  f.queue_2stage
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
            && !*queuerun_msgid
 #endif
            ) *p++ = 'q';
@@ -2177,7 +2177,7 @@ for (;;)
         extra[0] = *queue_name
           ? string_sprintf("%sG%s", opt, queue_name) : opt;


-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
         if (*queuerun_msgid)
           {
           log_write(0, LOG_MAIN, "notify triggered queue run");
@@ -2212,7 +2212,7 @@ for (;;)


           /* No need to re-exec; SIGALRM remains set to the default handler */


-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
       if (*queuerun_msgid)
         {
         log_write(0, LOG_MAIN, "notify triggered queue run");
@@ -2248,7 +2248,7 @@ for (;;)
       /* Reset the alarm clock */


       sigalrm_seen = FALSE;
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
       if (*queuerun_msgid)
     *queuerun_msgid = 0;
       else
diff --git a/src/src/exim.c b/src/src/exim.c
index 920e9e2..d8ad198 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -946,6 +946,9 @@ g = string_cat(NULL, US"Support for:");
 #ifndef DISABLE_DKIM
   g = string_cat(g, US" DKIM");
 #endif
+#ifdef SUPPORT_DMARC
+  g = string_cat(g, US" DMARC");
+#endif
 #ifndef DISABLE_DNSSEC
   g = string_cat(g, US" DNSSEC");
 #endif
@@ -967,15 +970,15 @@ g = string_cat(NULL, US"Support for:");
 #ifdef SUPPORT_PROXY
   g = string_cat(g, US" PROXY");
 #endif
+#ifndef DISABLE_QUEUE_RAMP
+  g = string_cat(g, US" Experimental_Queue_Ramp");
+#endif
 #ifdef SUPPORT_SOCKS
   g = string_cat(g, US" SOCKS");
 #endif
 #ifdef SUPPORT_SPF
   g = string_cat(g, US" SPF");
 #endif
-#ifdef SUPPORT_DMARC
-  g = string_cat(g, US" DMARC");
-#endif
 #ifdef TCP_FASTOPEN
   tcp_init();
   if (f.tcp_fastopen_ok) g = string_cat(g, US" TCP_Fast_Open");
@@ -995,9 +998,6 @@ g = string_cat(NULL, US"Support for:");
 #ifdef EXPERIMENTAL_LMDB
   g = string_cat(g, US" Experimental_LMDB");
 #endif
-#ifdef EXPERIMENTAL_QUEUE_RAMP
-  g = string_cat(g, US" Experimental_Queue_Ramp");
-#endif
 #ifdef EXPERIMENTAL_QUEUEFILE
   g = string_cat(g, US" Experimental_QUEUEFILE");
 #endif
diff --git a/src/src/functions.h b/src/src/functions.h
index 0028deb..2a45972 100644
--- a/src/src/functions.h
+++ b/src/src/functions.h
@@ -379,7 +379,7 @@ extern void    queue_check_only(void);
 extern unsigned queue_count(void);
 extern unsigned queue_count_cached(void);
 extern void    queue_list(int, uschar **, int);
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
 extern void    queue_notify_daemon(const uschar * hostname);
 #endif
 extern void    queue_run(uschar *, uschar *, BOOL);
diff --git a/src/src/globals.c b/src/src/globals.c
index ba772c6..e9529b4 100644
--- a/src/src/globals.c
+++ b/src/src/globals.c
@@ -382,7 +382,7 @@ BOOL    prod_requires_admin    = TRUE;
 BOOL    proxy_session          = FALSE;
 #endif


-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
 BOOL    queue_fast_ramp        = FALSE;
 #endif
 BOOL    queue_list_requires_admin = TRUE;
diff --git a/src/src/globals.h b/src/src/globals.h
index 3a8e824..95cc25f 100644
--- a/src/src/globals.h
+++ b/src/src/globals.h
@@ -792,7 +792,7 @@ extern uschar *prvscheck_result;       /* Set during prvscheck expansion item */
 extern const uschar *qualify_domain_recipient; /* Domain to qualify recipients with */
 extern uschar *qualify_domain_sender;  /* Domain to qualify senders with */
 extern uschar *queue_domains;          /* Queue these domains */
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
 extern BOOL    queue_fast_ramp;        /* 2-phase queue-run overlap */
 #endif
 extern BOOL    queue_list_requires_admin; /* TRUE if -bp requires admin */
diff --git a/src/src/queue.c b/src/src/queue.c
index 37d6124..6748afd 100644
--- a/src/src/queue.c
+++ b/src/src/queue.c
@@ -1531,7 +1531,7 @@ if (s)
 /******************************************************************************/
 /******************************************************************************/


-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
 void
 queue_notify_daemon(const uschar * msgid)
 {
diff --git a/src/src/readconf.c b/src/src/readconf.c
index 4050601..68079e6 100644
--- a/src/src/readconf.c
+++ b/src/src/readconf.c
@@ -262,7 +262,7 @@ static optionlist optionlist_config[] = {
   { "qualify_domain",           opt_stringptr,   {&qualify_domain_sender} },
   { "qualify_recipient",        opt_stringptr,   {&qualify_domain_recipient} },
   { "queue_domains",            opt_stringptr,   {&queue_domains} },
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
   { "queue_fast_ramp",          opt_bool,        {&queue_fast_ramp} },
 #endif
   { "queue_list_requires_admin",opt_bool,        {&queue_list_requires_admin} },
diff --git a/src/src/transport.c b/src/src/transport.c
index 2d8426f..f9ff521 100644
--- a/src/src/transport.c
+++ b/src/src/transport.c
@@ -1571,7 +1571,7 @@ for (host_item * host = hostlist; host; host = host->next)
     {
     sprintf(CS buffer, "%.200s:%d", host->name, host_record->sequence);
     dbfn_write(dbm_file, buffer, host_record, sizeof(dbdata_wait) + host_length);
-#ifdef EXPERIMENTAL_QUEUE_RAMP
+#ifndef DISABLE_QUEUE_RAMP
     if (f.queue_2stage && queue_fast_ramp && !queue_run_in_order)
       queue_notify_daemon(message_id);
 #endif