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:
parent
5cd204c3ef
commit
d6e3e1cbbe
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue