--- xmmspipe-0.5.3/xmmspipe.c.orig 2003-02-25 01:48:02.000000000 +0100 +++ xmmspipe-0.5.3/xmmspipe.c 2006-08-28 11:26:11.000000000 +0200 @@ -134,5 +134,8 @@ //assert(is_controlpipe); FD_SET(controlpipe[0], &set); - status = select(maxfd + 1, &set, NULL, NULL, NULL); + do { + errno = 0; + status = select(maxfd + 1, &set, NULL, NULL, NULL); + } while (status == -1 && errno == EINTR); if (status == -1) break;