diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-04-22 16:53:05 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-04-22 16:53:05 +0000 |
commit | 5a36154a60ce528d331602469ffea4ca4b9a0ea1 (patch) | |
tree | 072588f9ab25fd4f5dd033d94035325f09fda900 /c/src/tests/sptests/sp09/screen03.c | |
parent | Updates from Tony Bennett. (diff) | |
download | rtems-5a36154a60ce528d331602469ffea4ca4b9a0ea1.tar.bz2 |
addition of optional user provided stack allocator means that we can not
reliably produce the "insufficient memory for stack space" error if this
extension is configured.
Diffstat (limited to 'c/src/tests/sptests/sp09/screen03.c')
-rw-r--r-- | c/src/tests/sptests/sp09/screen03.c | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/c/src/tests/sptests/sp09/screen03.c b/c/src/tests/sptests/sp09/screen03.c index 545b6c1bab..eecab6066a 100644 --- a/c/src/tests/sptests/sp09/screen03.c +++ b/c/src/tests/sptests/sp09/screen03.c @@ -20,6 +20,7 @@ #include "system.h" extern rtems_configuration_table BSP_Configuration; +extern rtems_cpu_table _CPU_Table; void Screen3() { @@ -42,20 +43,32 @@ void Screen3() ); puts( "TA1 - rtems_task_create - RTEMS_INVALID_NAME" ); - status = rtems_task_create( - task_name, - 1, - BSP_Configuration.work_space_size, - RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, - &Junk_id - ); - fatal_directive_status( - status, - RTEMS_UNSATISFIED, - "rtems_task_create with a stack size larger than the workspace" - ); - puts( "TA1 - rtems_task_create - stack size - RTEMS_UNSATISFIED" ); + /* + * If the bsp provides its own stack allocator, then + * skip the test that tries to allocate a stack that is too big. + */ + + if (_CPU_Table.stack_allocate_hook) + { + puts( "TA1 - rtems_task_create - stack size - RTEMS_UNSATISFIED -- SKIPPED" ); + } + else + { + status = rtems_task_create( + task_name, + 1, + BSP_Configuration.work_space_size, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &Junk_id + ); + fatal_directive_status( + status, + RTEMS_UNSATISFIED, + "rtems_task_create with a stack size larger than the workspace" + ); + puts( "TA1 - rtems_task_create - stack size - RTEMS_UNSATISFIED" ); + } status = rtems_task_create( Task_name[ 2 ], |