aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--readme.txt3
-rw-r--r--src/chevents.c11
2 files changed, 4 insertions, 10 deletions
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();