diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 27caaf14a0..339e9c4570 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -615,6 +615,7 @@ static void worker_returned(int fd_worker) { ssize_t size; struct ucred *ucred = NULL; struct udev_list_node *loop; + bool found = false; size = recvmsg(fd_worker, &msghdr, MSG_DONTWAIT); if (size < 0) { @@ -646,6 +647,8 @@ static void worker_returned(int fd_worker) { if (worker->pid != ucred->pid) continue; + else + found = true; /* worker returned */ if (worker->event) { @@ -658,6 +661,9 @@ static void worker_returned(int fd_worker) { worker_unref(worker); break; } + + if (!found) + log_warning("unknown worker ["PID_FMT"] returned", ucred->pid); } }