libs-base/config/config.poll-dev.c
Wolfgang Lux 01ab7f8505 Add test to configure to avoid using the broken poll implementation on
Mac OS X 10.4 and later, which does not support devices.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28377 72102866-910b-0410-8b05-ffd578937521
2009-06-30 20:47:17 +00:00

24 lines
504 B
C

/* Mac OS X has a native poll implementation since Mac OS X 10.4, but
* this implementation is broken in (at least) OS X 10.4 and 10.5 in
* that it does not support devices.
*/
#include <stdio.h>
#include <fcntl.h>
#include <poll.h>
int
main()
{
int fd, n;
struct pollfd pollfds[1];
fd = open("/dev/null", O_RDONLY | O_NONBLOCK, 0);
pollfds[0].fd = fd;
pollfds[0].events = POLLIN;
n = poll(pollfds, 1, 0);
close(fd);
return (n == 1 && !(pollfds[0].revents & POLLNVAL)) ? 0 : 1;
}