diff --git a/readme.txt b/readme.txt index 7abd4998d..2e398401e 100644 --- a/readme.txt +++ b/readme.txt @@ -38,6 +38,9 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not complete yet. *** Releases *** ***************************************************************************** +*** 0.3.5 *** +- Space optimization in events code. + *** 0.3.4 *** - Fixed a problem in chVTSetI(). - New API, chVTIsArmedI(), it is a macro in delta.h. diff --git a/src/chevents.c b/src/chevents.c index a617e3edf..796577ace 100644 --- a/src/chevents.c +++ b/src/chevents.c @@ -91,19 +91,10 @@ void chEvtClear(t_eventmask mask) { * @param esp pointer to the \p EventSource structure */ void chEvtSend(EventSource *esp) { - EventListener *elp; chSysLock(); - elp = esp->es_next; - while (elp != (EventListener *)esp) { - Thread *tp = elp->el_listener; - - tp->p_epending |= EventMask(elp->el_id); - if ((tp->p_state == PRWTEVENT) && (tp->p_epending & tp->p_ewmask)) - chSchReadyI(tp); - elp = elp->el_next; - } + chEvtSendI(esp); chSchRescheduleS(); chSysUnlock();