From 0567be60fdc873c02d735057a066ea64026f73e3 Mon Sep 17 00:00:00 2001
From: Didier Roche <didrocks@ubuntu.com>
Date: Tue, 10 Mar 2015 09:01:11 +0100
Subject: [PATCH 2/5] fsckd: Fix some error return values

Do not return 0 when log_oom() couldn't create the manager.
Also, returns 0 if we connect successfully to plymouth.
---
 src/fsckd/fsckd.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c
index 3fc923b..9393379 100644
--- a/src/fsckd/fsckd.c
+++ b/src/fsckd/fsckd.c
@@ -220,7 +220,7 @@ static int manager_connect_plymouth(Manager *m) {
                 goto fail;
         }
 
-        return 1;
+        return 0;
 
 fail:
         manager_disconnect_plymouth(m);
@@ -406,10 +406,8 @@ static int manager_new_connection_handler(sd_event_source *s, int fd, uint32_t r
         log_debug("New fsck client connected to fd: %d", new_client_fd);
 
         c = new0(Client, 1);
-        if (!c) {
-                log_oom();
-                return 0;
-        }
+        if (!c)
+                return log_oom();
 
         c->fd = new_client_fd;
         new_client_fd = -1;
@@ -417,7 +415,7 @@ static int manager_new_connection_handler(sd_event_source *s, int fd, uint32_t r
         r = sd_event_add_io(m->event, &c->event_source, c->fd, EPOLLIN, client_progress_handler, c);
         if (r < 0) {
                 log_oom();
-                return 0;
+                return r;
         }
 
         LIST_PREPEND(clients, m->clients, c);
-- 
2.1.4

