diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-17 15:15:17 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-20 07:49:41 +0200 |
commit | b80156cf15a9e080e8608a30e3e2795211c03f3e (patch) | |
tree | dc6ef5c7cf7de2921a43c6fa9aa3a36d25f946bd /cpukit/score | |
parent | score: Delete unused _Objects_Get() (diff) | |
download | rtems-b80156cf15a9e080e8608a30e3e2795211c03f3e.tar.bz2 |
score: Avoid Giant _Objects_Extend_information()
Avoid Giant lock for _Objects_Extend_information().
Update #2280.
Update #2555.
Diffstat (limited to 'cpukit/score')
-rw-r--r-- | cpukit/score/src/objectextendinformation.c | 9 |
1 files 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 ); |