On Wed, 18 May 2005, Ian FREISLICH wrote: > You need to do the following (non blocking descriptors rule): > > fcntl(s, F_SETFL, O_NONBLOCK); > > pollfd.fd = s > pollfd.events = POLLWRNORM | POLLERR | POLLHUP | POLLNVAL;
All the man pages I read for poll() say that POLLERR, POLLHUP, and POLLNVAL are bits that get set in revents, and are not bits that you set in events. The man page on my Linux box says that POLLWRNORM is only available "when compiling XPG4.2 source". The man page on Solaris says that POLLWRNORM is the same as POLLOUT, so I guess that will do. However, we know that there are systems that don't implement poll(), or implement it badly. (Are there any that don't support O_NONBLOCK?) I'm not keen on rocking this particular boat. -- Philip Hazel University of Cambridge Computing Service, [EMAIL PROTECTED] Cambridge, England. Phone: +44 1223 334714. Get the Exim 4 book: http://www.uit.co.uk/exim-book -- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/
