chiark / gitweb /
journald: write tags also to user journal files
authorLennart Poettering <lennart@poettering.net>
Wed, 22 Aug 2012 00:53:51 +0000 (02:53 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 22 Aug 2012 00:53:51 +0000 (02:53 +0200)
src/journal/journal-authenticate.c
src/journal/journald.c

index fe5b6bd50685fb7487eda35ff229fcc499ee557d..586daf34cd879d62bd0d4d93a7aa439d5b018f65 100644 (file)
@@ -212,7 +212,7 @@ int journal_file_maybe_append_tag(JournalFile *f, uint64_t realtime) {
                 return 0;
 
         if (realtime <= 0)
-                realtime = now(CLOCK_MONOTONIC);
+                realtime = now(CLOCK_REALTIME);
 
         r = journal_file_fsprg_need_evolve(f, realtime);
         if (r <= 0)
index 2429dd3e278380e229b447665eed6a51587b9689..5dc5c95cfa9b59e7591e4a1d56a7810c83f21441 100644 (file)
@@ -2940,6 +2940,22 @@ static int server_init(Server *s) {
         return 0;
 }
 
+static void maybe_append_tags(Server *s) {
+#ifdef HAVE_GCRYPT
+        JournalFile *f;
+        Iterator i;
+        usec_t n;
+
+        n = now(CLOCK_REALTIME);
+
+        if (s->system_journal)
+                journal_file_maybe_append_tag(s->system_journal, n);
+
+        HASHMAP_FOREACH(f, s->user_journals, i)
+                journal_file_maybe_append_tag(f, n);
+#endif
+}
+
 static void server_done(Server *s) {
         JournalFile *f;
         assert(s);
@@ -3040,7 +3056,7 @@ int main(int argc, char *argv[]) {
                     journal_file_next_evolve_usec(server.system_journal, &u)) {
                         usec_t n;
 
-                        n = now(CLOCK_MONOTONIC);
+                        n = now(CLOCK_REALTIME);
 
                         if (n >= u)
                                 t = 0;
@@ -3069,10 +3085,7 @@ int main(int argc, char *argv[]) {
                                 break;
                 }
 
-#ifdef HAVE_GCRYPT
-                if (server.system_journal)
-                        journal_file_maybe_append_tag(server.system_journal, 0);
-#endif
+                maybe_append_tags(&server);
         }
 
         log_debug("systemd-journald stopped as pid %lu", (unsigned long) getpid());