}
_public_ int sd_event_source_set_name(sd_event_source *s, const char *name) {
- char *new_name = NULL;
-
assert_return(s, -EINVAL);
- if (name) {
- new_name = strdup(name);
- if (!new_name)
- return -ENOMEM;
- }
-
- free(s->name);
- s->name = new_name;
-
- return 0;
+ return free_and_strdup(&s->name, name);
}
_public_ int sd_event_source_get_name(sd_event_source *s, const char **name) {
s->dispatching = false;
- if (r < 0)
- log_debug("Event source %p returned error, disabling: %s", s, strerror(-r));
+ if (r < 0) {
+ if (s->name)
+ log_debug("Event source '%s' returned error, disabling: %s", s->name, strerror(-r));
+ else
+ log_debug("Event source %p returned error, disabling: %s", s, strerror(-r));
+ }
if (s->n_ref == 0)
source_free(s);
r = s->prepare(s, s->userdata);
s->dispatching = false;
- if (r < 0)
- log_debug("Prepare callback of event source %p returned error, disabling: %s", s, strerror(-r));
+ if (r < 0) {
+ if (s->name)
+ log_debug("Prepare callback of event source '%s' returned error, disabling: %s", s->name, strerror(-r));
+ else
+ log_debug("Prepare callback of event source %p returned error, disabling: %s", s, strerror(-r));
+ }
if (s->n_ref == 0)
source_free(s);