From c371936051db7fcbe512a771b3a7bf866c1e2981 Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Tue, 30 Jul 2013 23:18:31 +0200 Subject: [PATCH] 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 --- monitor.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/monitor.c b/monitor.c index 780b609..742aa19 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; }