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 <mwilck@arcor.de>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Martin Wilck 2013-07-30 23:18:31 +02:00 committed by NeilBrown
parent 39da26ecf5
commit c371936051
1 changed files with 10 additions and 3 deletions

View File

@ -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;
}