summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-17 08:05:37 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-20 15:18:48 +0100
commitfea848bbbc8b63204677765cdcf8f5957e0ccf86 (patch)
tree76889a28a19ad7e90283c445f57b9d620e2963a1 /cpukit/score
parentvalidation: Add signal manager tests (diff)
downloadrtems-fea848bbbc8b63204677765cdcf8f5957e0ccf86.tar.bz2
score: Change thread action locking
Require that the corresponding lock is acquired before the action handler returns. This helps to avoid recursion in the signal processing. Update #4244.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/src/threaddispatch.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/cpukit/score/src/threaddispatch.c b/cpukit/score/src/threaddispatch.c
index c4dadc0ff1..bae2902bda 100644
--- a/cpukit/score/src/threaddispatch.c
+++ b/cpukit/score/src/threaddispatch.c
@@ -249,10 +249,7 @@ static void _Thread_Run_post_switch_actions( Thread_Control *executing )
while ( action != NULL ) {
_Chain_Set_off_chain( &action->Node );
-
( *action->handler )( executing, action, &lock_context );
-
- _Thread_State_acquire( executing, &lock_context );
action = _Thread_Get_post_switch_action( executing );
}