Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
if (%children) {
my $full = %children >= $num_servers;
my $got = waitpid -1, ($full ? 0 : WNOHANG);
- $got >= 0 or fail_log("failed to wait for monitor(s)");
+ $got >= 0 or fail_log("failed to wait for monitor(s): $!");
if ($got) {
if ($?) {
syslog(LOG_WARNING,
if ($r > 0) {
chomp $msgbuf;
fail_log("watcher: $msgbuf");
- } elsif ($r == 0) {
+ } elsif (defined $r) {
last;
} elsif ($! == EINTR || $! == EAGAIN || $! == EWOULDBLOCK) {
} else {