[systemd-commits] src/network

Lennart Poettering lennart at kemper.freedesktop.org
Mon Feb 2 14:27:43 PST 2015


 src/network/networkd-manager.c |   34 +++++++++++++---------------------
 1 file changed, 13 insertions(+), 21 deletions(-)

New commits:
commit 44de0efc6e406515fc1cf8b95d9655d0d7f7ffff
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon Feb 2 23:21:20 2015 +0100

    networkd: minor simplification
    
    Let's return the fd we found as return value in systemd_netlink_fd(),
    instead of using call-by-reference.

diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
index 49e353a..ac20785 100644
--- a/src/network/networkd-manager.c
+++ b/src/network/networkd-manager.c
@@ -76,8 +76,8 @@ static int setup_default_address_pool(Manager *m) {
         return 0;
 }
 
-static int systemd_netlink_fd(int *ret) {
-        int n, fd, rtnl_fd = -1;
+static int systemd_netlink_fd(void) {
+        int n, fd, rtnl_fd = -EINVAL;
 
         n = sd_listen_fds(true);
         if (n <= 0)
@@ -92,12 +92,7 @@ static int systemd_netlink_fd(int *ret) {
                 }
         }
 
-        if (rtnl_fd < 0)
-                return -EINVAL;
-
-        *ret = rtnl_fd;
-
-        return 0;
+        return rtnl_fd;
 }
 
 int manager_new(Manager **ret) {
@@ -121,20 +116,17 @@ int manager_new(Manager **ret) {
         sd_event_add_signal(m->event, NULL, SIGTERM, NULL, NULL);
         sd_event_add_signal(m->event, NULL, SIGINT, NULL, NULL);
 
-        if (systemd_netlink_fd(&fd) < 0) {
-                r = sd_rtnl_open(&m->rtnl, 3, RTNLGRP_LINK, RTNLGRP_IPV4_IFADDR,
-                                 RTNLGRP_IPV6_IFADDR);
-                if (r < 0)
-                        return r;
-
-                r = sd_rtnl_inc_rcvbuf(m->rtnl, RCVBUF_SIZE);
-                if (r < 0)
-                        return r;
-        } else {
+        fd = systemd_netlink_fd();
+        if (fd < 0)
+                r = sd_rtnl_open(&m->rtnl, 3, RTNLGRP_LINK, RTNLGRP_IPV4_IFADDR, RTNLGRP_IPV6_IFADDR);
+        else
                 r = sd_rtnl_new_from_netlink(&m->rtnl, fd);
-                if (r < 0)
-                        return r;
-        }
+        if (r < 0)
+                return r;
+
+        r = sd_rtnl_inc_rcvbuf(m->rtnl, RCVBUF_SIZE);
+        if (r < 0)
+                return r;
 
         r = sd_bus_default_system(&m->bus);
         if (r < 0 && r != -ENOENT) /* TODO: drop when we can rely on kdbus */



More information about the systemd-commits mailing list