- if (sigtimedwait(&mask, NULL, &ts) != SIGCHLD)
- log_warning("Failed: sigtimedwait did not return SIGCHLD: %m");
+ if ((k = sigtimedwait(&mask, NULL, &ts)) != SIGCHLD) {
+ if (k >= 0)
+ log_warning("sigtimedwait() returned unexpected signal.");
+ if (k < 0 && errno != EAGAIN)
+ log_warning("sigtimedwait() failed: %m");
+ }