From d1317d02e637e19e9f40175657ff8e6098523633 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Fri, 24 Apr 2015 18:04:57 +0200 Subject: udevd: warn if we receive SIGCHLD from untracked worker --- src/udev/udevd.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/udev') diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 60e1ee6f9e..6b5d99b6b0 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -859,6 +859,7 @@ static void handle_signal(struct udev *udev, int signo) { pid_t pid; int status; struct udev_list_node *loop, *tmp; + bool found = false; pid = waitpid(-1, &status, WNOHANG); if (pid <= 0) @@ -869,6 +870,8 @@ static void handle_signal(struct udev *udev, int signo) { if (worker->pid != pid) continue; + else + found = true; if (WIFEXITED(status)) { if (WEXITSTATUS(status) == 0) @@ -905,6 +908,9 @@ static void handle_signal(struct udev *udev, int signo) { worker_unref(worker); break; } + + if (!found) + log_warning("worker ["PID_FMT"] is unknown, ignoring", pid); } break; case SIGHUP: -- cgit v1.2.3-54-g00ecf