diff options
Diffstat (limited to 'queue_epoll.c')
-rw-r--r-- | queue_epoll.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/queue_epoll.c b/queue_epoll.c index c704ebb..4112377 100644 --- a/queue_epoll.c +++ b/queue_epoll.c @@ -54,6 +54,14 @@ __attribute__((constructor)) static void epoll_ctl_mod_buggy_detect(void) /* TODO: whitelist vendor kernels as fixes are backported */ if (version <= 2) epoll_ctl_mod_buggy = true; + + /* 2.6.32.61 is OK */ + if (version == 2 && patchlevel == 6 && sublevel == 32) { + rc = sscanf(buf.release, "%u.%u.%u.%u", + &version, &patchlevel, &sublevel, &extra); + epoll_ctl_mod_buggy = (rc == 4) && (extra < 61); + } + if (version != 3) return; |