journald: close sd_journal context after flushing to /var
authorLennart Poettering <lennart@poettering.net>
Fri, 28 Sep 2012 13:41:20 +0000 (15:41 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 28 Sep 2012 13:41:20 +0000 (15:41 +0200)
src/journal/journald.c

index 3267fff..a1506b2 100644 (file)
@@ -896,10 +896,9 @@ static int system_journal_open(Server *s) {
 }
 
 static int server_flush_to_var(Server *s) {
-        Object *o = NULL;
         int r;
         sd_id128_t machine;
-        sd_journal *j;
+        sd_journal *j = NULL;
 
         assert(s);
 
@@ -930,6 +929,7 @@ static int server_flush_to_var(Server *s) {
         }
 
         SD_JOURNAL_FOREACH(j) {
+                Object *o = NULL;
                 JournalFile *f;
 
                 f = j->current_file;
@@ -967,6 +967,9 @@ finish:
         if (r >= 0)
                 rm_rf("/run/log/journal", false, true, false);
 
+        if (j)
+                sd_journal_close(j);
+
         return r;
 }