Fixed upstream.

Git Commit <mailto:g...@exim.org> changed bug 728
<https://bugs.exim.org/show_bug.cgi?id=728>
What    Removed         Added
CC              g...@exim.org

*Comment # 16 <https://bugs.exim.org/show_bug.cgi?id=728#c16> on bug 728
<https://bugs.exim.org/show_bug.cgi?id=728> from Git Commit
<mailto:g...@exim.org> *

Git commit:
http://git.exim.org/exim.git/commitdiff/c8899c20aa08c9ae6a4c291aad23ba90512bebe4

commit c8899c20aa08c9ae6a4c291aad23ba90512bebe4
Author:     Jeremy Harris <jgh146...@wizmail.org <mailto:jgh146...@wizmail.org>>
AuthorDate: Tue Aug 25 10:36:27 2015 +0100
Commit:     Jeremy Harris <jgh146...@wizmail.org <mailto:jgh146...@wizmail.org>>
CommitDate: Tue Aug 25 10:36:27 2015 +0100

    Close logs after daemon-process exceptional write.  Bug 728 
<show_bug.cgi?id=728>
---
 doc/doc-txt/ChangeLog | 7 +++++++
 src/src/daemon.c      | 1 +
 2 files changed, 8 insertions(+)

diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 0ec2964..cb43f0f 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -18,6 +18,13 @@ TF/02 Improve the consistency of logging incoming and
outgoing interfaces.
       outgoing_interface log selector which allows you to disable the
       outgoing I= field.

+JH/02 Bug 728 <show_bug.cgi?id=728>: Close logfiles after a daemon-process 
"exceptional" log write.
+      If not running log_selector +smtp_connection the mainlog would be held
+      open indefinitely after a "too many connections" event, including to a
+      deleted file after a log rotate. Leave the per net connection logging
+      leaving it open for efficiency as that will be quickly detected by the
+      check on the next write.
+

 Exim version 4.86
 -----------------
diff --git a/src/src/daemon.c b/src/src/daemon.c
index 2d10387..e1ff9a1 100644
--- a/src/src/daemon.c
+++ b/src/src/daemon.c
@@ -735,6 +735,7 @@ else (void)close(dup_accept_socket);
 /* Release any store used in this process, including the store used for
holding
 the incoming host address and an expanded active_hostname. */

+log_close_all();
 store_reset(reset_point);
 sender_host_address = NULL;
 }

Reply via email to