forked from Imagelibrary/rtems
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:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 );
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user