Port OpenVZ/epoll Fix From charybdis

Ported the epoll fix to allow ShadowIRCd to work on OpenVZ VPSes from atheme/charybdis.
This commit is contained in:
Joah 2012-11-20 03:15:54 -05:00
parent 5cd204c3ef
commit d6e3e1cbbe
1 changed files with 8 additions and 0 deletions

View File

@ -253,6 +253,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;
@ -261,6 +262,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)
{