Zbigniew Jędrzejewski-Szmek 62fe94
From 9021bb9f935c93b516b10c88db2a212a9e3a8140 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 62fe94
From: Tom Gundersen <teg@jklm.no>
Zbigniew Jędrzejewski-Szmek 62fe94
Date: Thu, 28 Aug 2014 15:46:29 +0200
Zbigniew Jędrzejewski-Szmek 62fe94
Subject: [PATCH] sd-event: name event sources used in libraries
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
This should help in debugging failing event sources.
Zbigniew Jędrzejewski-Szmek 62fe94
---
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd-network/sd-dhcp-client.c  | 35 ++++++++++++++++++++++++++++++++
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd-network/sd-dhcp6-client.c | 30 +++++++++++++++++++++++++++
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd-network/sd-icmp6-nd.c     | 13 ++++++++++++
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd-network/sd-ipv4ll.c       | 11 ++++++++++
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd/sd-bus/sd-bus.c           | 16 +++++++++++++++
Zbigniew Jędrzejewski-Szmek 62fe94
 src/libsystemd/sd-rtnl/sd-rtnl.c         | 12 +++++++++++
Zbigniew Jędrzejewski-Szmek 62fe94
 src/network/networkd-manager.c           |  4 ++++
Zbigniew Jędrzejewski-Szmek 62fe94
 7 files changed, 121 insertions(+)
Zbigniew Jędrzejewski-Szmek 62fe94
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
Zbigniew Jędrzejewski-Szmek 62fe94
index 8a9887d19f..7cf1b80d29 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd-network/sd-dhcp-client.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd-network/sd-dhcp-client.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -700,6 +700,11 @@ static int client_timeout_resend(sd_event_source *s, uint64_t usec,
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_resend,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp4-resend-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         switch (client->state) {
Zbigniew Jędrzejewski-Szmek 62fe94
         case DHCP_STATE_INIT:
Zbigniew Jędrzejewski-Szmek 62fe94
                 r = client_send_discover(client);
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -773,6 +778,11 @@ static int client_initialize_io_events(sd_dhcp_client *client,
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->receive_message,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp4-receive-message");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
 error:
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 client_stop(client, r);
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -799,6 +809,11 @@ static int client_initialize_time_events(sd_dhcp_client *client) {
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_source_set_priority(client->timeout_resend,
Zbigniew Jędrzejewski-Szmek 62fe94
                                          client->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_resend,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp4-resend-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
 error:
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 client_stop(client, r);
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -1107,6 +1122,11 @@ static int client_set_lease_timeouts(sd_dhcp_client *client) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_expire,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp4-lifetime");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         log_dhcp_client(client, "lease expires in %s",
Zbigniew Jędrzejewski-Szmek 62fe94
                         format_timespan(time_string, FORMAT_TIMESPAN_MAX,
Zbigniew Jędrzejewski-Szmek 62fe94
                         lifetime_timeout - time_now, 0));
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -1130,6 +1150,11 @@ static int client_set_lease_timeouts(sd_dhcp_client *client) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_t2,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp4-t2-timeout");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         log_dhcp_client(client, "T2 expires in %s",
Zbigniew Jędrzejewski-Szmek 62fe94
                         format_timespan(time_string, FORMAT_TIMESPAN_MAX,
Zbigniew Jędrzejewski-Szmek 62fe94
                         t2_timeout - time_now, 0));
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -1152,6 +1177,11 @@ static int client_set_lease_timeouts(sd_dhcp_client *client) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_t1,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp4-t1-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         log_dhcp_client(client, "T1 expires in %s",
Zbigniew Jędrzejewski-Szmek 62fe94
                         format_timespan(time_string, FORMAT_TIMESPAN_MAX,
Zbigniew Jędrzejewski-Szmek 62fe94
                         t1_timeout - time_now, 0));
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -1192,6 +1222,11 @@ static int client_handle_message(sd_dhcp_client *client, DHCPMessage *message,
Zbigniew Jędrzejewski-Szmek 62fe94
                                                          client->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
                         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                                 goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
+                        r = sd_event_source_set_name(client->timeout_resend,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                                     "dhcp4-resend-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+                        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
                 } else if (r == -ENOMSG)
Zbigniew Jędrzejewski-Szmek 62fe94
                         /* invalid message, let's ignore it */
Zbigniew Jędrzejewski-Szmek 62fe94
                         return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
Zbigniew Jędrzejewski-Szmek 62fe94
index f69c0ed8a6..342a231413 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd-network/sd-dhcp6-client.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd-network/sd-dhcp6-client.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -496,6 +496,11 @@ static int client_timeout_resend(sd_event_source *s, uint64_t usec,
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_resend,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp6-resend-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         if (max_retransmit_duration && !client->timeout_resend_expire) {
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
                 log_dhcp6_client(client, "Max retransmission duration %"PRIu64" secs",
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -514,6 +519,11 @@ static int client_timeout_resend(sd_event_source *s, uint64_t usec,
Zbigniew Jędrzejewski-Szmek 62fe94
                                                  client->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
                 if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                         goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(client->timeout_resend_expire,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                             "dhcp6-resend-expire-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                        goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
         }
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
 error:
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -894,6 +904,11 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state)
Zbigniew Jędrzejewski-Szmek 62fe94
                 if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                         return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(client->receive_message,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                             "dhcp6-receive-message");
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                        return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
                 client->state = DHCP6_STATE_SOLICITATION;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
                 break;
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -942,6 +957,11 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state)
Zbigniew Jędrzejewski-Szmek 62fe94
                 if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                         return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(client->lease->ia.timeout_t1,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                             "dhcp6-t1-timeout");
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                        return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
                 timeout = client_timeout_compute_random(be32toh(client->lease->ia.lifetime_t2) * USEC_PER_SEC);
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
                 log_dhcp6_client(client, "T2 expires in %s",
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -962,6 +982,11 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state)
Zbigniew Jędrzejewski-Szmek 62fe94
                 if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                         return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(client->lease->ia.timeout_t2,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                             "dhcp6-t2-timeout");
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                        return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
                 client->state = state;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
                 return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -980,6 +1005,11 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state)
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(client->timeout_resend,
Zbigniew Jędrzejewski-Szmek 62fe94
+                                     "dhcp6-resend-timeout");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
 }
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd-network/sd-icmp6-nd.c b/src/libsystemd-network/sd-icmp6-nd.c
Zbigniew Jędrzejewski-Szmek 62fe94
index b264e793ee..243f06a85f 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd-network/sd-icmp6-nd.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd-network/sd-icmp6-nd.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -277,6 +277,12 @@ static int icmp6_router_solicitation_timeout(sd_event_source *s, uint64_t usec,
Zbigniew Jędrzejewski-Szmek 62fe94
                         icmp6_nd_notify(nd, r);
Zbigniew Jędrzejewski-Szmek 62fe94
                         return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
                 }
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(nd->timeout, "icmp6-timeout");
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0) {
Zbigniew Jędrzejewski-Szmek 62fe94
+                        icmp6_nd_notify(nd, r);
Zbigniew Jędrzejewski-Szmek 62fe94
+                        return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
+                }
Zbigniew Jędrzejewski-Szmek 62fe94
         }
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -322,13 +328,20 @@ int sd_icmp6_router_solicitation_start(sd_icmp6_nd *nd) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(nd->recv, "icmp6-receive-message");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_add_time(nd->event, &nd->timeout, clock_boottime_or_monotonic(),
Zbigniew Jędrzejewski-Szmek 62fe94
                               0, 0, icmp6_router_solicitation_timeout, nd);
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_source_set_priority(nd->timeout, nd->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto error;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(nd->timeout, "icmp6-timeout");
Zbigniew Jędrzejewski-Szmek 62fe94
 error:
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 icmp6_nd_init(nd);
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd-network/sd-ipv4ll.c b/src/libsystemd-network/sd-ipv4ll.c
Zbigniew Jędrzejewski-Szmek 62fe94
index b17987904a..3d15fc85ea 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd-network/sd-ipv4ll.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd-network/sd-ipv4ll.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -352,6 +352,10 @@ static void ipv4ll_run_state_machine(sd_ipv4ll *ll, IPv4LLTrigger trigger, void
Zbigniew Jędrzejewski-Szmek 62fe94
                 r = sd_event_source_set_priority(ll->timer, ll->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
                 if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                         goto out;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(ll->timer, "ipv4ll-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                        goto out;
Zbigniew Jędrzejewski-Szmek 62fe94
         }
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
 out:
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -560,6 +564,10 @@ int sd_ipv4ll_start (sd_ipv4ll *ll) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto out;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(ll->timer, "ipv4ll-receive-message");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto out;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_add_time(ll->event,
Zbigniew Jędrzejewski-Szmek 62fe94
                               &ll->timer,
Zbigniew Jędrzejewski-Szmek 62fe94
                               clock_boottime_or_monotonic(),
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -570,7 +578,10 @@ int sd_ipv4ll_start (sd_ipv4ll *ll) {
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto out;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_source_set_priority(ll->timer, ll->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto out;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(ll->timer, "ipv4ll-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
 out:
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 ipv4ll_stop(ll, IPV4LL_EVENT_STOP);
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
Zbigniew Jędrzejewski-Szmek 62fe94
index 8caa404227..78e91b9654 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd/sd-bus/sd-bus.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd/sd-bus/sd-bus.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -3013,6 +3013,10 @@ static int attach_io_events(sd_bus *bus) {
Zbigniew Jędrzejewski-Szmek 62fe94
                         return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
                 r = sd_event_source_set_priority(bus->input_io_event_source, bus->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
+                if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                        return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
+                r = sd_event_source_set_name(bus->input_io_event_source, "bus-input");
Zbigniew Jędrzejewski-Szmek 62fe94
         } else
Zbigniew Jędrzejewski-Szmek 62fe94
                 r = sd_event_source_set_io_fd(bus->input_io_event_source, bus->input_fd);
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -3028,6 +3032,10 @@ static int attach_io_events(sd_bus *bus) {
Zbigniew Jędrzejewski-Szmek 62fe94
                                 return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
                         r = sd_event_source_set_priority(bus->output_io_event_source, bus->event_priority);
Zbigniew Jędrzejewski-Szmek 62fe94
+                        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
+                        r = sd_event_source_set_name(bus->input_io_event_source, "bus-output");
Zbigniew Jędrzejewski-Szmek 62fe94
                 } else
Zbigniew Jędrzejewski-Szmek 62fe94
                         r = sd_event_source_set_io_fd(bus->output_io_event_source, bus->output_fd);
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -3080,10 +3088,18 @@ _public_ int sd_bus_attach_event(sd_bus *bus, sd_event *event, int priority) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(bus->time_event_source, "bus-time");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_add_exit(bus->event, &bus->quit_event_source, quit_callback, bus);
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(bus->quit_event_source, "bus-exit");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         r = attach_io_events(bus);
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/libsystemd/sd-rtnl/sd-rtnl.c b/src/libsystemd/sd-rtnl/sd-rtnl.c
Zbigniew Jędrzejewski-Szmek 62fe94
index c19bad1bc9..f883f2842c 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/libsystemd/sd-rtnl/sd-rtnl.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/libsystemd/sd-rtnl/sd-rtnl.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -859,6 +859,10 @@ int sd_rtnl_attach_event(sd_rtnl *rtnl, sd_event *event, int priority) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(rtnl->io_event_source, "rtnl-receive-message");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_source_set_prepare(rtnl->io_event_source, prepare_callback);
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -871,10 +875,18 @@ int sd_rtnl_attach_event(sd_rtnl *rtnl, sd_event *event, int priority) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(rtnl->time_event_source, "rtnl-timer");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         r = sd_event_add_exit(rtnl->event, &rtnl->exit_event_source, exit_callback, rtnl);
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(rtnl->exit_event_source, "rtnl-exit");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                goto fail;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
 fail:
Zbigniew Jędrzejewski-Szmek 62fe94
diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
Zbigniew Jędrzejewski-Szmek 62fe94
index f2fe5d5443..5a4f93a06b 100644
Zbigniew Jędrzejewski-Szmek 62fe94
--- a/src/network/networkd-manager.c
Zbigniew Jędrzejewski-Szmek 62fe94
+++ b/src/network/networkd-manager.c
Zbigniew Jędrzejewski-Szmek 62fe94
@@ -370,6 +370,10 @@ int manager_udev_listen(Manager *m) {
Zbigniew Jędrzejewski-Szmek 62fe94
         if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
                 return r;
Zbigniew Jędrzejewski-Szmek 62fe94
 
Zbigniew Jędrzejewski-Szmek 62fe94
+        r = sd_event_source_set_name(m->udev_event_source, "networkd-udev");
Zbigniew Jędrzejewski-Szmek 62fe94
+        if (r < 0)
Zbigniew Jędrzejewski-Szmek 62fe94
+                return r;
Zbigniew Jędrzejewski-Szmek 62fe94
+
Zbigniew Jędrzejewski-Szmek 62fe94
         return 0;
Zbigniew Jędrzejewski-Szmek 62fe94
 }
Zbigniew Jędrzejewski-Szmek 62fe94