From 21acd0961cd856c1033fe3875159875ad981ddf2 Mon Sep 17 00:00:00 2001 From: Aaron Sethman Date: Fri, 18 May 2012 21:15:16 -0500 Subject: [PATCH] Disable timerfd/signalfd on openvz, it seems broken (imported from libratbox r27395 by nenolod) --- libratbox/src/epoll.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libratbox/src/epoll.c b/libratbox/src/epoll.c index 9409cadc..480ceed0 100644 --- a/libratbox/src/epoll.c +++ b/libratbox/src/epoll.c @@ -254,6 +254,7 @@ rb_epoll_supports_event(void) /* try to detect at runtime if everything we need actually works */ timer_t timer; struct sigevent ev; + struct stat st; int fd; sigset_t set; @@ -262,6 +263,13 @@ rb_epoll_supports_event(void) if(can_do_event == -1) return 0; + /* Check for openvz..it has a broken timerfd.. */ + if(stat("/proc/user_beancounters", &st) == 0) + { + can_do_event = -1; + return 0; + } + #ifdef USE_TIMERFD_CREATE if((fd = timerfd_create(CLOCK_REALTIME, 0)) >= 0) {