--- cyrus-imapd-2.0.14/master/master.c.wiget Fri Jun 22 08:35:25 2001 +++ cyrus-imapd-2.0.14/master/master.c Fri Jun 22 08:38:08 2001 @@ -1279,7 +1279,7 @@ int y = Services[i].socket; int j; - if (FD_ISSET(x, &rfds)) { + if (x > 0 && FD_ISSET(x, &rfds)) { r = read(x, &msg, sizeof(int)); if (r != sizeof(int)) { syslog(LOG_ERR, "got weird response from child: %x", i); @@ -1299,7 +1299,7 @@ } if (Services[i].ready_workers == 0 && - FD_ISSET(y, &rfds)) { + y > 0 && FD_ISSET(y, &rfds)) { /* huh, someone wants to talk to us */ spawn_service(&Services[i]); }