summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-09-29 16:07:41 +0200
committerMartin Pitt <martin.pitt@ubuntu.com>2016-09-29 22:57:57 +0200
commita86b76753d7868c2d05f046f601bc7dc89fc2203 (patch)
tree42d4e47d4bea48c169ab876dce8b1a14d9746a8f
parent8523bf7dd514a3a2c6114b7b8fb8f308b4f09fc4 (diff)
pid1: more informative error message for ignored notifications
It's probably easier to diagnose a bad notification message if the contents are printed. But still, do anything only if debugging is on.
-rw-r--r--src/core/manager.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/manager.c b/src/core/manager.c
index 1ea6539ebc..0f95bf49fb 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1672,8 +1672,14 @@ static void manager_invoke_notify_message(Manager *m, Unit *u, pid_t pid, const
if (UNIT_VTABLE(u)->notify_message)
UNIT_VTABLE(u)->notify_message(u, pid, tags, fds);
- else
- log_unit_debug(u, "Got notification message for unit. Ignoring.");
+ else if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) {
+ _cleanup_free_ char *x = NULL, *y = NULL;
+
+ x = cescape(buf);
+ if (x)
+ y = ellipsize(x, 20, 90);
+ log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y));
+ }
}
static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) {