]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
logging: fix endless loop on EOF
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Thu, 24 Sep 2020 12:54:24 +0000 (15:54 +0300)
committerNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Fri, 2 Oct 2020 06:15:53 +0000 (09:15 +0300)
On EOF condition we always have POLLHUP event and read returns
0 thus we never break loop in virLogHandlerDomainLogFileDrain.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/logging/log_handler.c

index 6f5277c67984866d4e856c16816af276fe5cc1da..95d909b44eeac9d5e3ca37d0c025e23d2c4cc6d9 100644 (file)
@@ -461,6 +461,8 @@ virLogHandlerDomainLogFileDrain(virLogHandlerLogFilePtr file)
             if (errno == EINTR)
                 continue;
             return;
+        } else if (len == 0) {
+            return;
         }
 
         if (virRotatingFileWriterAppend(file->file, buf, len) != len)