journal: use cleanup attribute at one more place v239-18.5
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 28 May 2019 09:07:01 +0000 (18:07 +0900)
committerThe Plumber <50238977+systemd-rhel-bot@users.noreply.github.com>
Thu, 27 Feb 2020 09:12:37 +0000 (10:12 +0100)
(cherry picked from commit 627df1dc42b68a74b0882b06366d1185b1a34332)

Conflicts:
src/journal/journald-server.c

(cherry picked from commit ceacf935ac9f59bc08b5901f70f227958a2bcf52)
Related: #1807350

src/journal/journal-file.h
src/journal/journald-server.c

index cd8a48a364c54380f5d598149d65829e618e34d1..6a44fd39d2d692b020ad113a944ab4331ee766c5 100644 (file)
@@ -144,6 +144,7 @@ int journal_file_open(
 int journal_file_set_offline(JournalFile *f, bool wait);
 bool journal_file_is_offlining(JournalFile *f);
 JournalFile* journal_file_close(JournalFile *j);
+DEFINE_TRIVIAL_CLEANUP_FUNC(JournalFile*, journal_file_close);
 
 int journal_file_open_reliably(
                 const char *fname,
index 31a7b5ff0372093446e2f0b99a86be24332c5e12..90c146dc6717c1ff197fa22323f4cff3670b84da 100644 (file)
@@ -253,8 +253,9 @@ static int open_journal(
                 bool seal,
                 JournalMetrics *metrics,
                 JournalFile **ret) {
+
+        _cleanup_(journal_file_closep) JournalFile *f = NULL;
         int r;
-        JournalFile *f;
 
         assert(s);
         assert(fname);
@@ -271,12 +272,10 @@ static int open_journal(
                 return r;
 
         r = journal_file_enable_post_change_timer(f, s->event, POST_CHANGE_TIMER_INTERVAL_USEC);
-        if (r < 0) {
-                (void) journal_file_close(f);
+        if (r < 0)
                 return r;
-        }
 
-        *ret = f;
+        *ret = TAKE_PTR(f);
         return r;
 }