summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2015-08-25 10:36:27 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2015-08-25 10:36:27 +0100
commitc8899c20aa08c9ae6a4c291aad23ba90512bebe4 (patch)
tree4f9a724640f0806267c1ef92e24f863948501a65
parentbcbf9f93310b0eb54dc3f7598cd47fe480ddecbb (diff)
Close logs after daemon-process exceptional write. Bug 728
-rw-r--r--doc/doc-txt/ChangeLog7
-rw-r--r--src/src/daemon.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 0ec296470..cb43f0f10 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: 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 2d10387f6..e1ff9a16f 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;
}