From: Martin Wilck Date: Tue, 30 Jul 2013 21:18:31 +0000 (+0200) Subject: mdmon: wait_and_act: fix debug message for SIGUSR1 X-Git-Tag: mdadm-3.3~52 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c371936051db7fcbe512a771b3a7bf866c1e2981;p=thirdparty%2Fmdadm.git mdmon: wait_and_act: fix debug message for SIGUSR1 Correctly print out wake reason if it was a signal. Previous code would print misleading select events (pselect(2) man page says the fdsets become undefined in case of error). Signed-off-by: Martin Wilck Signed-off-by: NeilBrown --- diff --git a/monitor.c b/monitor.c index 780b6099..742aa196 100644 --- a/monitor.c +++ b/monitor.c @@ -640,10 +640,17 @@ static int wait_and_act(struct supertype *container, int nowait) monitor_loop_cnt |= 1; rv = pselect(maxfd+1, NULL, NULL, &rfds, &ts, &set); monitor_loop_cnt += 1; - if (rv == -1 && errno == EINTR) - rv = 0; + if (rv == -1) { + if (errno == EINTR) { + rv = 0; + dprintf("monitor: caught signal\n"); + } else + dprintf("monitor: error %d in pselect\n", + errno); + } #ifdef DEBUG - dprint_wake_reasons(&rfds); + else + dprint_wake_reasons(&rfds); #endif container->retry_soon = 0; }