scjones@sdrc.UUCP (Larry Jones) (11/22/89)
I'm having a really screwey problem with poll that I hope someone can give me some help with. I'm calling it with two fds, both event masks are set to POLLIN | POLLPRI. It starts out working OK, but eventually I get into a state where one of the fds has pending data, but poll blocks instead of returning. If data comes in on the other fd, poll returns 2 and both return event masks are set to POLLIN! Similarly, if I send a non-fatal signal to the process, poll returns 1 with POLLIN set in the return event mask for the fd with pending data rather than returning -1 with errno set to EINTR as you would expect. So, it seems that poll knows about the pending data, so why does it block instead of returning right away?!? My guess is that I must be corrupting memory somewhere, but I haven't a clue as to how to track it down. Any suggestions? ---- Larry Jones UUCP: uunet!sdrc!scjones SDRC scjones@SDRC.UU.NET 2000 Eastman Dr. BIX: ltl Milford, OH 45150-2789 AT&T: (513) 576-2070 "You know how Einstein got bad grades as a kid? Well MINE are even WORSE!" -Calvin