From: Niels Provos Date: Sat, 1 Mar 2003 19:46:27 +0000 (+0000) Subject: support disabling of event mechanisms via the environment; error out X-Git-Tag: release-1.1b~131 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b5b585c1f9a13577e28549436bb7b95c0c427f6b;p=libevent support disabling of event mechanisms via the environment; error out if no event mechanism is available svn:r38 --- diff --git a/event.c b/event.c index f657028b..182847a5 100644 --- a/event.c +++ b/event.c @@ -133,6 +133,9 @@ event_init(void) evbase = evsel->init(); } + if (evbase == NULL) + errx(1, "%s: no event mechanism available", __func__); + #if defined(USE_LOG) && defined(USE_DEBUG) log_to(stderr); log_debug_cmd(LOG_MISC, 80); diff --git a/poll.c b/poll.c index f84d3553..8f30086b 100644 --- a/poll.c +++ b/poll.c @@ -92,6 +92,10 @@ struct eventop pollops = { void * poll_init(void) { + /* Disable kqueue when this environment variable is set */ + if (getenv("EVENT_NOPOLL")) + return (NULL); + memset(&pop, 0, sizeof(pop)); evsignal_init(&pop.evsigmask); diff --git a/select.c b/select.c index bed15624..86d0e357 100644 --- a/select.c +++ b/select.c @@ -96,6 +96,10 @@ struct eventop selectops = { void * select_init(void) { + /* Disable kqueue when this environment variable is set */ + if (getenv("EVENT_NOSELECT")) + return (NULL); + memset(&sop, 0, sizeof(sop)); evsignal_init(&sop.evsigmask);