From cd8947b75038d28d16095c6f3a5b7e6fb3c0e6fe Mon Sep 17 00:00:00 2001 From: John Kohl Date: Fri, 8 Jul 1988 06:17:10 +0000 Subject: more intelligent select() --- lib/ZRetSubs.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'lib/ZRetSubs.c') diff --git a/lib/ZRetSubs.c b/lib/ZRetSubs.c index dabf9b9..9af736d 100644 --- a/lib/ZRetSubs.c +++ b/lib/ZRetSubs.c @@ -64,7 +64,8 @@ static Code_t Z_RetSubs(notice, nsubs) register int i; ZNotice_t retnotice; char *ptr,*end,*ptr2; - fd_set read, write, except; + fd_set read, setup; + int nfds; struct timeval tv; int gotone; @@ -92,14 +93,23 @@ static Code_t Z_RetSubs(notice, nsubs) gimmeack = 0; __subscriptions_list = (ZSubscription_t *) 0; + FD_ZERO(&setup); + FD_SET(ZGetFD(), &setup); + nfds = ZGetFD() + 1; + while (!nrecv || !gimmeack) { tv.tv_sec = 0; tv.tv_usec = 500000; for (i=0;i