diff options
Diffstat (limited to 'testsuites/psxtests/psx01')
-rw-r--r-- | testsuites/psxtests/psx01/init.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/testsuites/psxtests/psx01/init.c b/testsuites/psxtests/psx01/init.c index 59605b49af..1d1a9e8e63 100644 --- a/testsuites/psxtests/psx01/init.c +++ b/testsuites/psxtests/psx01/init.c @@ -20,6 +20,18 @@ #include <rtems/score/todimpl.h> +pthread_once_t nesting_once = PTHREAD_ONCE_INIT; + +void Test_init_routine_nesting( void ); + +void Test_init_routine_nesting( void ) +{ + int status; + puts( "Test_init_routine_nesting: invoked" ); + status = pthread_once( &nesting_once, Test_init_routine_nesting ); + rtems_test_assert( status == EINVAL ); +} + void *POSIX_Init( void *argument ) @@ -95,6 +107,11 @@ void *POSIX_Init( ); rtems_test_assert( !status ); + /* once nesting */ + puts( "Init: pthread_once - SUCCESSFUL (init_routine_nesting executes)" ); + status = pthread_once( &nesting_once, Test_init_routine_nesting ); + rtems_test_assert( !status ); + /* create a thread */ puts( "Init: pthread_create - SUCCESSFUL" ); |