diff options
-rw-r--r-- | Changes | 3 | ||||
-rw-r--r-- | ev_epoll.c | 2 | ||||
-rw-r--r-- | ev_vars.h | 5 | ||||
-rw-r--r-- | ev_wrap.h | 6 |
4 files changed, 14 insertions, 2 deletions
@@ -4,7 +4,10 @@ TODO: move some other examples to common idioms? combining watchers, thread usage, coroutine switch? TODO: /dev/null epoll breakage, maybe catch EPERM? +TODO: frankenpoll 4.03 + - support files, /dev/zero etc. the same way as select in the epoll + backend, by generating events on our own. - define EV_READ/EV_WRITE as macros in event.h, as some programs use #ifdef to test for them. @@ -203,7 +203,7 @@ epoll_poll (EV_P_ ev_tstamp timeout) epoll_events = (struct epoll_event *)ev_malloc (sizeof (struct epoll_event) * epoll_eventmax); } - /* now add events for all fds where epoll fails, while select works... */ + /* now synthesize events for all fds where epoll fails, while select works... */ for (i = epoll_epermcnt; i--; ) { int fd = epoll_eperms [i]; @@ -1,7 +1,7 @@ /* * loop member variable declarations * - * Copyright (c) 2007,2008,2009,2010 Marc Alexander Lehmann <libev@schmorp.de> + * Copyright (c) 2007,2008,2009,2010,2011 Marc Alexander Lehmann <libev@schmorp.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- @@ -102,6 +102,9 @@ VARx(int, pollidxmax) #if EV_USE_EPOLL || EV_GENWRAP VARx(struct epoll_event *, epoll_events) VARx(int, epoll_eventmax) +VARx(int *, epoll_eperms) +VARx(int, epoll_epermcnt) +VARx(int, epoll_epermmax) #endif #if EV_USE_KQUEUE || EV_GENWRAP @@ -40,6 +40,9 @@ #define pollidxmax ((loop)->pollidxmax) #define epoll_events ((loop)->epoll_events) #define epoll_eventmax ((loop)->epoll_eventmax) +#define epoll_eperms ((loop)->epoll_eperms) +#define epoll_epermcnt ((loop)->epoll_epermcnt) +#define epoll_epermmax ((loop)->epoll_epermmax) #define kqueue_changes ((loop)->kqueue_changes) #define kqueue_changemax ((loop)->kqueue_changemax) #define kqueue_changecnt ((loop)->kqueue_changecnt) @@ -132,6 +135,9 @@ #undef pollidxmax #undef epoll_events #undef epoll_eventmax +#undef epoll_eperms +#undef epoll_epermcnt +#undef epoll_epermmax #undef kqueue_changes #undef kqueue_changemax #undef kqueue_changecnt |