diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-16 14:57:36 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-16 14:57:36 +0000 |
commit | 1c5d8f494936a4e3fe86cc084b9ae01dbeeaac49 (patch) | |
tree | 483c9af86c6cd3b0daa2e02a7bc7ec7b68bbf924 /testsuites/sptests/spfatal03/testcase.h | |
parent | Housekeeping. (diff) | |
download | rtems-1c5d8f494936a4e3fe86cc084b9ae01dbeeaac49.tar.bz2 |
2009-07-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* spfatal03/spfatal03.scn, spfatal03/testcase.h: Fix spfatal03 to do
what it was intended to do.
Diffstat (limited to 'testsuites/sptests/spfatal03/testcase.h')
-rw-r--r-- | testsuites/sptests/spfatal03/testcase.h | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/testsuites/sptests/spfatal03/testcase.h b/testsuites/sptests/spfatal03/testcase.h index 0eb8589e4e..aaced199c3 100644 --- a/testsuites/sptests/spfatal03/testcase.h +++ b/testsuites/sptests/spfatal03/testcase.h @@ -1,5 +1,5 @@ /* - * Classic API Init task create failure + * Semaphore Obtain in Critical Section * * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). @@ -11,25 +11,7 @@ * $Id$ */ -/* - * Way too much stack space. Should generate a fatal error - * on the init task create. - */ -#define CONFIGURE_HAS_OWN_INIT_TASK_TABLE -#define CONFIGURE_INIT_TASK_STACK_SIZE RTEMS_MINIMUM_STACK_SIZE -rtems_initialization_tasks_table Initialization_tasks[] = { - { rtems_build_name('I', 'N', 'I', ' '), - RTEMS_MINIMUM_STACK_SIZE, - 1, - RTEMS_DEFAULT_ATTRIBUTES, - Init, - RTEMS_DEFAULT_MODES, - 0 - } -}; -#define CONFIGURE_INIT_TASK_TABLE Initialization_tasks -#define CONFIGURE_INIT_TASK_TABLE_SIZE \ - sizeof(CONFIGURE_INIT_TASK_TABLE) / sizeof(rtems_initialization_tasks_table) +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_MAXIMUM_SEMAPHORES 10 @@ -38,34 +20,30 @@ rtems_initialization_tasks_table Initialization_tasks[] = { #define FATAL_ERROR_EXPECTED_IS_INTERNAL FALSE #define FATAL_ERROR_EXPECTED_ERROR INTERNAL_ERROR_MUTEX_OBTAIN_FROM_BAD_STATE -rtems_id Mutex_id[1]; -rtems_name Mutex_name[1]; - void force_error(void) { + rtems_status_code status; + rtems_id mutex; - Mutex_name[0] = rtems_build_name( 'S','0',' ',' '); status = rtems_semaphore_create( - Mutex_name[0], + rtems_build_name( 'S','0',' ',' '), 1, RTEMS_LOCAL| - RTEMS_SIMPLE_BINARY_SEMAPHORE| - RTEMS_PRIORITY_CEILING | - RTEMS_PRIORITY, + RTEMS_SIMPLE_BINARY_SEMAPHORE, 0, - &Mutex_id[0] + &mutex ); directive_failed( status, "rtems_semaphore_create of S0"); - printf("Create S0\n"); - + puts("Create semaphore S0"); + puts("Obtain semaphore in dispatching critical section"); _Thread_Disable_dispatch(); - status = rtems_semaphore_obtain( Mutex_id[0], RTEMS_DEFAULT_OPTIONS, 0 ); + status = rtems_semaphore_obtain( mutex, RTEMS_DEFAULT_OPTIONS, 0 ); /* !!! SHOULD NOT RETURN FROM THE ABOVE CALL */ _Thread_Enable_dispatch(); - directive_failed( status, "rtems_semaphore_obtain" ); + puts("ERROR -- Obtain semaphore should not have returned"); /* we will not run this far */ } |