chiark / gitweb /
sd-bus: rename default bus address constants, they aren't "paths" but "addresses"
[elogind.git] / src / libsystemd / sd-event / sd-event.c
index f0356a48e647f90711699daf7062852c00b5a595..f9fa54d2e81f109a5d243879f53bbdfcf860f657 100644 (file)
@@ -1031,6 +1031,9 @@ _public_ int sd_event_add_signal(
                 }
         }
 
+        /* Use the signal name as description for the event source by default */
+        (void) sd_event_source_set_description(s, signal_to_string(sig));
+
         if (ret)
                 *ret = s;
 
@@ -1255,6 +1258,7 @@ _public_ sd_event_source* sd_event_source_unref(sd_event_source *s) {
 
 _public_ int sd_event_source_set_description(sd_event_source *s, const char *description) {
         assert_return(s, -EINVAL);
+        assert_return(!event_pid_changed(s->event), -ECHILD);
 
         return free_and_strdup(&s->description, description);
 }
@@ -1262,6 +1266,8 @@ _public_ int sd_event_source_set_description(sd_event_source *s, const char *des
 _public_ int sd_event_source_get_description(sd_event_source *s, const char **description) {
         assert_return(s, -EINVAL);
         assert_return(description, -EINVAL);
+        assert_return(s->description, -ENXIO);
+        assert_return(!event_pid_changed(s->event), -ECHILD);
 
         *description = s->description;
         return 0;
@@ -2152,9 +2158,9 @@ static int source_dispatch(sd_event_source *s) {
 
         if (r < 0) {
                 if (s->description)
-                        log_debug("Event source '%s' returned error, disabling: %s", s->description, strerror(-r));
+                        log_debug_errno(r, "Event source '%s' returned error, disabling: %m", s->description);
                 else
-                        log_debug("Event source %p returned error, disabling: %s", s, strerror(-r));
+                        log_debug_errno(r, "Event source %p returned error, disabling: %m", s);
         }
 
         if (s->n_ref == 0)
@@ -2190,9 +2196,9 @@ static int event_prepare(sd_event *e) {
 
                 if (r < 0) {
                         if (s->description)
-                                log_debug("Prepare callback of event source '%s' returned error, disabling: %s", s->description, strerror(-r));
+                                log_debug_errno(r, "Prepare callback of event source '%s' returned error, disabling: %m", s->description);
                         else
-                                log_debug("Prepare callback of event source %p returned error, disabling: %s", s, strerror(-r));
+                                log_debug_errno(r, "Prepare callback of event source %p returned error, disabling: %m", s);
                 }
 
                 if (s->n_ref == 0)