From 172e953147da1d82bf5a6746b2fe6112a9509ad7 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 12 Dec 2014 13:16:11 +0100 Subject: posix: Delete key/value if value is set to NULL --- testsuites/psxtests/psxkey02/init.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'testsuites/psxtests/psxkey02') diff --git a/testsuites/psxtests/psxkey02/init.c b/testsuites/psxtests/psxkey02/init.c index 5734db76a5..23a392b004 100644 --- a/testsuites/psxtests/psxkey02/init.c +++ b/testsuites/psxtests/psxkey02/init.c @@ -30,6 +30,7 @@ rtems_task Init(rtems_task_argument ignored) bool ok; rtems_resource_snapshot snapshot; void *greedy; + void *value; TEST_BEGIN(); @@ -40,6 +41,24 @@ rtems_task Init(rtems_task_argument ignored) eno = pthread_key_create( &key1, NULL ); rtems_test_assert( eno == 0 ); + eno = pthread_setspecific( key1, (void *) 1 ); + rtems_test_assert( eno == 0 ); + + value = pthread_getspecific( key1 ); + rtems_test_assert( value == (void *) 1 ); + + eno = pthread_setspecific( key1, NULL ); + rtems_test_assert( eno == 0 ); + + value = pthread_getspecific( key1 ); + rtems_test_assert( value == NULL ); + + eno = pthread_setspecific( key1, NULL ); + rtems_test_assert( eno == 0 ); + + value = pthread_getspecific( key1 ); + rtems_test_assert( value == NULL ); + puts( "Init - pthread_key_create - EAGAIN" ); eno = pthread_key_create( &key2, NULL ); rtems_test_assert( eno == EAGAIN ); -- cgit v1.2.3