Use alternative API

Replaced Allocate_majority_of_workspace() with
rtems_workspace_allocate().  Replaced Allocate_majority_of_heap() with
rtems_heap_greedy_allocate().
This commit is contained in:
Sebastian Huber
2012-02-17 16:54:23 +01:00
parent 622d6703d3
commit 77998753b5
6 changed files with 5 additions and 70 deletions

View File

@@ -17,10 +17,6 @@
#include "system.h"
#include <errno.h>
#include "tmacros.h"
#include <rtems/score/wkspace.h>
#include <rtems/score/heap.h>
#include "test_support.h"
void Key_destructor(
void *key_data
@@ -46,7 +42,7 @@ void *POSIX_Init(
Init_id = pthread_self();
printf( "Init's ID is 0x%08" PRIxpthread_t "\n", Init_id );
Allocate_majority_of_workspace(84);
rtems_workspace_greedy_allocate( 0 );
puts("Init: pthread_key_create - ENOMEM (Workspace not available)");
empty_line();

View File

@@ -17,15 +17,12 @@
#include "system.h"
#include <errno.h>
#include "tmacros.h"
#include <rtems/score/wkspace.h>
#include <rtems/score/heap.h>
#include <mqueue.h>
#include <sched.h>
#include <fcntl.h>
#include <time.h>
#include <tmacros.h>
#include <signal.h> /* signal facilities */
#include "test_support.h"
pthread_t Init_id;
@@ -48,7 +45,7 @@ void *POSIX_Init(
Init_id = pthread_self();
printf( "Init's ID is 0x%08" PRIxpthread_t "\n", Init_id );
Allocate_majority_of_workspace(NAME_MAX);
rtems_workspace_greedy_allocate( 0 );
attr.mq_maxmsg = MAXMSG;
attr.mq_msgsize = MSGSIZE;

View File

@@ -16,7 +16,6 @@
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
#include <tmacros.h>
#include "test_support.h"
rtems_task Init(
rtems_task_argument ignored
@@ -70,7 +69,7 @@ rtems_task Init(
/* out of memory error ONLY when POSIX is enabled */
puts( "INIT - _Objects_Set_name fails - out of memory" );
Allocate_majority_of_workspace( 1 );
rtems_workspace_greedy_allocate( 0 );
bc = _Objects_Set_name( &TestClass, &_Thread_Executing->Object, name );
rtems_test_assert( bc == false );

View File

@@ -16,11 +16,11 @@
#define FATAL_ERROR_EXPECTED_ERROR RTEMS_NO_MEMORY
#include <rtems/libio.h>
#include "test_support.h"
#include <rtems/malloc.h>
void force_error()
{
Allocate_majority_of_heap( 1 );
rtems_heap_greedy_allocate( 0 );
rtems_libio_init();
}

View File

@@ -16,24 +16,6 @@
extern "C" {
#endif
/*
* Allocate a number of small blocks from the workspace
* until the largest free block of memory available is
* smaller than smallest.
*
* NOTE: The memory CANNOT be freed.
*/
void Allocate_majority_of_workspace( int smallest );
/*
* Allocate a number of small blocks from the heap
* until the largest free block of memory available is
* smaller than smallest.
*
* NOTE: The memory CANNOT be freed.
*/
void Allocate_majority_of_heap( int smallest );
/*
* Return a pointer to the POSIX name that is slightly
* beyond the legal limit.

View File

@@ -40,42 +40,3 @@ const char *Get_Longest_Name(void)
Longest_Name[i] = '\0';
return Longest_Name;
}
void Allocate_majority_of_workspace( int smallest )
{
bool result;
Heap_Information_block info;
void *temp;
puts("Allocate_majority_of_workspace: ");
result = rtems_workspace_get_information( &info );
if ( result != TRUE )
perror("==> Error Getting workspace information");
do {
result = rtems_workspace_allocate(
info.Free.largest - HEAP_BLOCK_HEADER_SIZE,
&temp
);
if ((!result) || (!temp))
perror("Unable to allocate from workspace");
result = rtems_workspace_get_information( &info );
} while ( info.Free.largest >= smallest );
}
void Allocate_majority_of_heap( int smallest )
{
size_t size;
void *temp;
puts("Allocate_majority_of_heap: ");
size = malloc_free_space();
do {
temp = malloc( size - HEAP_BLOCK_HEADER_SIZE );
if (!temp)
perror("Unable to allocate from workspace");
size = malloc_free_space();
} while ( size >= smallest );
}