From: Nick Mathewson Date: Fri, 17 Sep 2010 04:24:50 +0000 (-0400) Subject: Put internal events at highest priority X-Git-Tag: release-2.0.8-rc~16^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=90651b327a9819e890e8ababe1e46f3fa989850c;p=libevent Put internal events at highest priority (If we allow user events to starve internal events, then internal events never actually happen, signals don't get acked, etc) --- diff --git a/event.c b/event.c index a1cc9c18..bf6e3ba0 100644 --- a/event.c +++ b/event.c @@ -2720,6 +2720,7 @@ evthread_make_base_notifiable(struct event_base *base) /* we need to mark this as internal event */ base->th_notify.ev_flags |= EVLIST_INTERNAL; + event_priority_set(&base->th_notify, 0); return event_add(&base->th_notify, NULL); } diff --git a/signal.c b/signal.c index 4e70c9d9..86361cce 100644 --- a/signal.c +++ b/signal.c @@ -136,6 +136,7 @@ evsig_init(struct event_base *base) EV_READ | EV_PERSIST, evsig_cb, &base->sig.ev_signal); base->sig.ev_signal.ev_flags |= EVLIST_INTERNAL; + event_priority_set(&base->sig.ev_signal, 0); base->evsigsel = &evsigops; base->evsigbase = &base->sig;