stdio-bridge: return immediately if we can
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 29 Nov 2023 13:38:06 +0000 (14:38 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 2 Dec 2023 08:47:45 +0000 (09:47 +0100)
Follow-up for 0321248b79d14ceddd36140b327332f145ae68e7.

src/stdio-bridge/stdio-bridge.c

index ce2bd5f..fe551cf 100644 (file)
@@ -183,12 +183,12 @@ static int run(int argc, char *argv[]) {
 
                 r = sd_bus_process(a, &m);
                 if (ERRNO_IS_NEG_DISCONNECT(r)) /* Treat 'connection reset by peer' as clean exit condition */
-                        break;
+                        return 0;
                 if (r < 0)
                         return log_error_errno(r, "Failed to process bus a: %m");
                 if (m) {
                         if (sd_bus_message_is_signal(m, "org.freedesktop.DBus.Local", "Disconnected"))
-                                break;
+                                return 0;
 
                         r = sd_bus_send(b, m, NULL);
                         if (r < 0)
@@ -200,12 +200,12 @@ static int run(int argc, char *argv[]) {
 
                 r = sd_bus_process(b, &m);
                 if (ERRNO_IS_NEG_DISCONNECT(r)) /* Treat 'connection reset by peer' as clean exit condition */
-                        break;
+                        return 0;
                 if (r < 0)
                         return log_error_errno(r, "Failed to process bus: %m");
                 if (m) {
                         if (sd_bus_message_is_signal(m, "org.freedesktop.DBus.Local", "Disconnected"))
-                                break;
+                                return 0;
 
                         r = sd_bus_send(a, m, NULL);
                         if (r < 0)
@@ -247,8 +247,6 @@ static int run(int argc, char *argv[]) {
                 if (r < 0 && !ERRNO_IS_TRANSIENT(r))  /* don't be bothered by signals, i.e. EINTR */
                         return log_error_errno(r, "ppoll() failed: %m");
         }
-
-        return 0;
 }
 
 DEFINE_MAIN_FUNCTION(run);