From b80156cf15a9e080e8608a30e3e2795211c03f3e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 17 May 2016 15:15:17 +0200 Subject: score: Avoid Giant _Objects_Extend_information() Avoid Giant lock for _Objects_Extend_information(). Update #2280. Update #2555. --- cpukit/score/src/objectextendinformation.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cpukit/score/src/objectextendinformation.c b/cpukit/score/src/objectextendinformation.c index b1fcec7617..2a76114096 100644 --- a/cpukit/score/src/objectextendinformation.c +++ b/cpukit/score/src/objectextendinformation.c @@ -113,7 +113,7 @@ void _Objects_Extend_information( * Do we need to grow the tables? */ if ( do_extend ) { - ISR_Level level; + ISR_lock_Context lock_context; void **object_blocks; uint32_t *inactive_per_block; Objects_Control **local_table; @@ -225,8 +225,8 @@ void _Objects_Extend_information( local_table[ index ] = NULL; } - _Thread_Disable_dispatch(); - _ISR_Disable( level ); + /* FIXME: https://devel.rtems.org/ticket/2280 */ + _ISR_lock_ISR_disable( &lock_context ); old_tables = information->object_blocks; @@ -241,8 +241,7 @@ void _Objects_Extend_information( information->maximum ); - _ISR_Enable( level ); - _Thread_Enable_dispatch(); + _ISR_lock_ISR_enable( &lock_context ); _Workspace_Free( old_tables ); -- cgit v1.2.3