From 90651b327a9819e890e8ababe1e46f3fa989850c Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 17 Sep 2010 00:24:50 -0400 Subject: [PATCH] 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) --- event.c | 1 + signal.c | 1 + 2 files changed, 2 insertions(+) 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;