From 0cab6a71bbac93229f8311d726f165dfe35d5af4 Mon Sep 17 00:00:00 2001 From: Michael Cardell Widerkrantz Date: Wed, 28 Jul 2010 16:16:08 +0200 Subject: Change order of comparison with errno EINTR from select(). Seems nicer. Break out of loop if we get EINTR instead of continue. Same effect since the for loop ends when sigcode != 0, but this makes it more explicit. --- mcwm.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'mcwm.c') diff --git a/mcwm.c b/mcwm.c index 0dff3e1..60f0fb1 100644 --- a/mcwm.c +++ b/mcwm.c @@ -2217,16 +2217,17 @@ void events(void) found = select(fd + 1, &in, NULL, NULL, NULL); if (-1 == found) { - if (EINTR != errno) + if (EINTR == errno) { - fprintf(stderr, "mcwm: select failed."); - cleanup(0); - exit(1); + /* We received a signal. Break out of loop. */ + break; } else { - /* We received a signal. Goto start of loop. */ - continue; + /* Something was seriously wrong with select(). */ + fprintf(stderr, "mcwm: select failed."); + cleanup(0); + exit(1); } } else -- cgit v1.2.3