File: config.poll-dev.c

package info (click to toggle)
gnustep-base 1.26.0-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 27,260 kB
  • sloc: objc: 204,878; ansic: 32,160; sh: 157; makefile: 128; cpp: 122; xml: 32
file content (24 lines) | stat: -rw-r--r-- 504 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* 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;
}