summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/systemeventsend.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src/systemeventsend.c')
-rw-r--r--cpukit/rtems/src/systemeventsend.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/cpukit/rtems/src/systemeventsend.c b/cpukit/rtems/src/systemeventsend.c
index b2d55524e7..d35127d4bf 100644
--- a/cpukit/rtems/src/systemeventsend.c
+++ b/cpukit/rtems/src/systemeventsend.c
@@ -37,8 +37,9 @@ rtems_status_code rtems_event_system_send(
Thread_Control *thread;
Objects_Locations location;
RTEMS_API_Control *api;
+ ISR_lock_Context lock_context;
- thread = _Thread_Get( id, &location );
+ thread = _Thread_Acquire( id, &location, &lock_context );
switch ( location ) {
case OBJECTS_LOCAL:
api = thread->API_Extensions[ THREAD_API_RTEMS ];
@@ -46,10 +47,9 @@ rtems_status_code rtems_event_system_send(
thread,
event_in,
&api->System_event,
- &_System_event_Sync_state,
- STATES_WAITING_FOR_SYSTEM_EVENT
+ THREAD_WAIT_CLASS_SYSTEM_EVENT,
+ &lock_context
);
- _Objects_Put( &thread->Object );
sc = RTEMS_SUCCESSFUL;
break;
#ifdef RTEMS_MULTIPROCESSING