diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-21 23:09:07 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-21 23:09:07 +0000 |
commit | 4b45c1393ce4ee3e1c2762ef3145d2bd6b5b38da (patch) | |
tree | 4166e0d1b92b95716888ca2f8205afd34503f1e0 /cpukit/rtems/src/eventseize.c | |
parent | 2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-4b45c1393ce4ee3e1c2762ef3145d2bd6b5b38da.tar.bz2 |
2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems/src/eventseize.c, rtems/src/eventsurrender.c,
rtems/src/eventtimeout.c: Clean up and minor rework as a side-effect
of coverage analysis.
Diffstat (limited to 'cpukit/rtems/src/eventseize.c')
-rw-r--r-- | cpukit/rtems/src/eventseize.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cpukit/rtems/src/eventseize.c b/cpukit/rtems/src/eventseize.c index 9abb54fa6a..0b6bf2d623 100644 --- a/cpukit/rtems/src/eventseize.c +++ b/cpukit/rtems/src/eventseize.c @@ -86,12 +86,20 @@ void _Event_Seize( return; } - _Event_Sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED; - + /* + * Note what we are waiting for BEFORE we enter the critical section. + * The interrupt critical section management code needs this to be + * set properly when we are marked as in the event critical section. + * + * NOTE: Since interrupts are disabled, this isn't that much of an + * issue but better safe than sorry. + */ executing->Wait.option = (uint32_t) option_set; executing->Wait.count = (uint32_t) event_in; executing->Wait.return_argument = event_out; + _Event_Sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED; + _ISR_Enable( level ); if ( ticks ) { |