From f129e7f180f8b4d735a87e7528671ebb30787006 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Sat, 30 Aug 2014 19:10:26 +0100 Subject: [PATCH] remove pending events buffer again as this was the wrong way --- include/tr/event_dispatcher.h | 3 --- src/event_dispatcher.c | 2 -- src/event_dispatcher_start.c | 12 ++---------- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/include/tr/event_dispatcher.h b/include/tr/event_dispatcher.h index 6585974..8533e94 100644 --- a/include/tr/event_dispatcher.h +++ b/include/tr/event_dispatcher.h @@ -48,7 +48,6 @@ TR_CLASS(TR_EventDispatcher) { TR_EXTENDS(TR_EventSubject); TR_Queue events; - TR_Queue pending; TR_Hash handler; TR_EventHandler default_handler; int running; @@ -76,8 +75,6 @@ void TR_eventDispatcherShutdown(TR_EventDispatcher); #define TR_eventDispatcherEnqueueEvent(disp,ev) \ (TR_queuePut((disp)->events, (ev))) -#define TR_eventDispatcherEnqueuePending(disp,ev) \ - (TR_queuePut((disp)->pending, (ev))) #define TR_eventDispatcherStop(disp) \ (((TR_EventDispatcher)disp)->running = 0) diff --git a/src/event_dispatcher.c b/src/event_dispatcher.c index c31d0e2..15f5a2b 100644 --- a/src/event_dispatcher.c +++ b/src/event_dispatcher.c @@ -66,7 +66,6 @@ eventDispatcherCtor(void * _this, va_list * params) { TR_EventDispatcher this = _this; this->events = TR_new(TR_Queue); - this->pending = TR_new(TR_Queue); this->handler = TR_new(TR_Hash); this->mode = va_arg(*params, TR_EventDispatcherMode); this->default_handler = va_arg(*params, TR_EventHandler); @@ -98,7 +97,6 @@ eventDispatcherDtor(void * _this) { TR_hashCleanup(this->handler); TR_delete(this->handler); - TR_delete(this->pending); TR_delete(this->events); } diff --git a/src/event_dispatcher_start.c b/src/event_dispatcher_start.c index 13dedb7..7d74b0f 100644 --- a/src/event_dispatcher_start.c +++ b/src/event_dispatcher_start.c @@ -57,16 +57,8 @@ TR_eventDispatcherStart(TR_EventDispatcher this) int evtid = TR_EVD_CLIENT == this->mode ? TR_DISPATCHER_EVENT_USER_WAIT : TR_DISPATCHER_EVENT_DATA_WAIT; - int * toutptr = NULL; - if (! TR_queueEmpty(this->pending)) { - toutptr = &ZERO; - TR_delete(this->events); - this->events = this->pending; - this->pending = TR_new(TR_Queue); - } - - event = TR_eventSubjectEmit((TR_EventSubject)this, evtid, toutptr); + event = TR_eventSubjectEmit((TR_EventSubject)this, evtid, NULL); } else { event = TR_queueGet(this->events); } @@ -98,7 +90,7 @@ TR_eventDispatcherStart(TR_EventDispatcher this) if (TR_EVENT_DONE == done) { TR_delete(event); } else { - TR_eventDispatcherEnqueuePending(this, event); + TR_eventDispatcherEnqueueEvent(this, event); } } }