Correct some logic for handling overflow messages in log.
authorDavin McCall <davmac@davmac.org>
Tue, 15 May 2018 21:23:36 +0000 (22:23 +0100)
committerDavin McCall <davmac@davmac.org>
Mon, 21 May 2018 17:29:45 +0000 (18:29 +0100)
src/dinit-log.cc

index a6f3a981aa22863bd1078d52024685aec086f777..f9236faaa757861fde6e9b169a5e2cc941e315c2 100644 (file)
@@ -149,6 +149,8 @@ rearm buffered_log_stream::fd_event(eventloop_t &loop, int fd, int flags) noexce
 {
     if ((! partway) && (! special) && discarded) {
         special_buf = "dinit: *** log message discarded due to full buffer ***\n";
+        special = true;
+        discarded = false;
         msg_index = 0;
     }
 
@@ -160,7 +162,7 @@ rearm buffered_log_stream::fd_event(eventloop_t &loop, int fd, int flags) noexce
             if (start + r > end) {
                 // All written: go on to next message in queue
                 special = false;
-                partway = false;
+                discarded = false;
                 msg_index = 0;
                 
                 if (release) {