Also submitted to the Debian bug lists.

Dear maintainer,

While using runit on an odd embedded system with a poor clock, we found
that when the oldest file in the log directory is the file being processed,
it is deleted. This causes later logic to spin lock. Runit should exclude
*.u from being deleted, even if it is the oldest.

-Tom

--- svlogd.c        2014-08-10 18:22:34.000000000 +0000
+++ svlogd.c    2017-01-30 00:08:52.881220920 +0000
@@ -234,7 +234,7 @@
         if (unlink(f->d_name) == -1)
           warn2("unable to unlink processor leftover", f->d_name);
       }
-      else {
+      else if (f->d_name[26] != 'u') {
         ++n;
         if (str_diff(f->d_name, oldest) < 0) byte_copy(oldest, 27,
f->d_name);
       }

-- 
Maj Tom Bereknyei
Defense Digital Service
t...@dds.mil
(571) 225-1630‬
-- 
Maj Tom Bereknyei
Defense Digital Service
t...@dds.mil
--- svlogd.c        2014-08-10 18:22:34.000000000 +0000
+++ svlogd.c    2017-01-30 00:08:52.881220920 +0000
@@ -234,7 +234,7 @@
         if (unlink(f->d_name) == -1)
           warn2("unable to unlink processor leftover", f->d_name);
       }
-      else {
+      else if (f->d_name[26] != 'u') {
         ++n;
         if (str_diff(f->d_name, oldest) < 0) byte_copy(oldest, 27, f->d_name);
       }


Reply via email to