# define EV_USE_SELECT 1
# endif
-# if HAVE_POLL && HAVE_POLL_H && !defined (EV_USE_POLL)
+# if HAVE_POLL && HAVE_POLL_H && !defined (EV_USE_POLL) && !defined (__APPLE__)
# define EV_USE_POLL 1
# endif
# define EV_USE_EPOLL 1
# endif
-# if HAVE_KQUEUE && HAVE_SYS_EVENT_H && HAVE_SYS_QUEUE_H && !defined (EV_USE_KQUEUE)
+# if HAVE_KQUEUE && HAVE_SYS_EVENT_H && HAVE_SYS_QUEUE_H && !defined (EV_USE_KQUEUE) && !defined (__APPLE__)
# define EV_USE_KQUEUE 1
# endif
#ifndef EV_USE_SELECT
# define EV_USE_SELECT 1
+# define EV_SELECT_USE_FD_SET 1
#endif
#ifndef EV_USE_POLL
-# define EV_USE_POLL 0 /* poll is usually slower than select, and not as well tested */
+# ifdef _WIN32
+# define EV_USE_POLL 0
+# else
+# define EV_USE_POLL 1
+# endif
#endif
#ifndef EV_USE_EPOLL