diff options
Diffstat (limited to 'c')
-rw-r--r-- | c/src/exec/rtems/ChangeLog | 7 | ||||
-rw-r--r-- | c/src/exec/rtems/src/eventsurrender.c | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/c/src/exec/rtems/ChangeLog b/c/src/exec/rtems/ChangeLog index 7cf403df32..45e13897c2 100644 --- a/c/src/exec/rtems/ChangeLog +++ b/c/src/exec/rtems/ChangeLog @@ -1,3 +1,10 @@ +2001-03-26 Zoltan Kocsi <zoltan@bendor.com.au> + + + * src/eventsurrender.c: Clear event condition when task is unblocked. + This makes sure that subsequent event send thinks the task is still + blocked and overwrites the initial events received. + 2001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de> * include/Makefile.am, include/rtems/rtems/Makefile.am, diff --git a/c/src/exec/rtems/src/eventsurrender.c b/c/src/exec/rtems/src/eventsurrender.c index 7785bb6395..1f8f5ea70b 100644 --- a/c/src/exec/rtems/src/eventsurrender.c +++ b/c/src/exec/rtems/src/eventsurrender.c @@ -64,6 +64,7 @@ void _Event_Surrender( if ( seized_events == event_condition || _Options_Is_any( option_set ) ) { api->pending_events = _Event_sets_Clear( pending_events, seized_events ); + (rtems_event_set) the_thread->Wait.count = 0; *(rtems_event_set *)the_thread->Wait.return_argument = seized_events; _ISR_Flash( level ); |