[PATCH 4/5] rtems: Simplify _Event_Surrender()
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jan 2 17:56:37 UTC 2013
Remove superfluous test for _ISR_Is_in_progress().
---
cpukit/rtems/src/eventsurrender.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/cpukit/rtems/src/eventsurrender.c b/cpukit/rtems/src/eventsurrender.c
index ce7edc7..6e8dbbd 100644
--- a/cpukit/rtems/src/eventsurrender.c
+++ b/cpukit/rtems/src/eventsurrender.c
@@ -57,11 +57,13 @@ void _Event_Surrender(
}
/*
- * If we are in an ISR and sending to the current thread, then
- * we have a critical section issue to deal with.
+ * If we are sending to the executing thread, then we have a critical
+ * section issue to deal with. The entity sending to the executing thread
+ * can be either the executing thread or an ISR. In case it is the
+ * executing thread, then the blocking operation state is not equal to
+ * THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED.
*/
- if ( _ISR_Is_in_progress() &&
- _Thread_Is_executing( the_thread ) &&
+ if ( _Thread_Is_executing( the_thread ) &&
*sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED ) {
if ( seized_events == event_condition || _Options_Is_any(option_set) ) {
event->pending_events = _Event_sets_Clear(
--
1.7.10.4
More information about the devel
mailing list