diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-21 09:16:19 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-21 10:26:11 +0200 |
commit | 4f1da72e7f4c89cd15437439862f2bc6085f44a3 (patch) | |
tree | b2c65100bb5ad9373fc44e369955f917c7798c44 /cpukit/libcsupport/src/resource_snapshot.c | |
parent | IMFS: Fix reference count for debug enabled (diff) | |
download | rtems-4f1da72e7f4c89cd15437439862f2bc6085f44a3.tar.bz2 |
score: _Heap_Protection_free_all_delayed_blocks()
Add and use _Heap_Protection_free_all_delayed_blocks() to prevent
test suite failures if RTEMS_DEBUG is defined.
Diffstat (limited to 'cpukit/libcsupport/src/resource_snapshot.c')
-rw-r--r-- | cpukit/libcsupport/src/resource_snapshot.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cpukit/libcsupport/src/resource_snapshot.c b/cpukit/libcsupport/src/resource_snapshot.c index e143fdf9ad..1ac9e63d4c 100644 --- a/cpukit/libcsupport/src/resource_snapshot.c +++ b/cpukit/libcsupport/src/resource_snapshot.c @@ -85,11 +85,25 @@ static int open_files(void) return (int) rtems_libio_number_iops - free_count; } +static void free_all_delayed_blocks(void) +{ + #ifdef HEAP_PROTECTION + _RTEMS_Lock_allocator(); + _Thread_Disable_dispatch(); + _Heap_Protection_free_all_delayed_blocks( RTEMS_Malloc_Heap ); + _Heap_Protection_free_all_delayed_blocks( &_Workspace_Area ); + _Thread_Enable_dispatch(); + _RTEMS_Unlock_allocator(); + #endif +} + void rtems_resource_snapshot_take(rtems_resource_snapshot *snapshot) { uint32_t *active = &snapshot->rtems_api.active_barriers; size_t i; + free_all_delayed_blocks(); + _Protected_heap_Get_information(RTEMS_Malloc_Heap, &snapshot->heap_info); _Thread_Disable_dispatch(); |