From d9d0a84f8584042f5c594a4c4306a6d1ad87835e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 1 Sep 2015 14:07:51 +0200 Subject: psxtests/psxcancel: Check return status Update #2402. --- testsuites/psxtests/psxcancel/init.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) (limited to 'testsuites') diff --git a/testsuites/psxtests/psxcancel/init.c b/testsuites/psxtests/psxcancel/init.c index c8c96b556c..2007529d42 100644 --- a/testsuites/psxtests/psxcancel/init.c +++ b/testsuites/psxtests/psxcancel/init.c @@ -41,9 +41,14 @@ void *countTaskDeferred(void *ignored) { int i=0; int type,state; - - pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &type); - pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &state); + int sc; + + sc = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &type); + fatal_posix_service_status( sc, 0, "cancel state deferred" ); + rtems_test_assert( type == PTHREAD_CANCEL_ENABLE ); + sc = pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &state); + fatal_posix_service_status( sc, 0, "cancel type deferred" ); + rtems_test_assert( state == PTHREAD_CANCEL_DEFERRED ); while (1) { printf("countTaskDeferred: elapsed time (second): %2d\n", i++ ); sleep(1); @@ -55,9 +60,14 @@ void *countTaskAsync(void *ignored) { int i=0; int type,state; - - pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &type); - pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &state); + int sc; + + sc = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &type); + fatal_posix_service_status( sc, 0, "cancel state async" ); + rtems_test_assert( type == PTHREAD_CANCEL_ENABLE ); + sc = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &state); + fatal_posix_service_status( sc, 0, "cancel type async" ); + rtems_test_assert( state == PTHREAD_CANCEL_DEFERRED ); pthread_cleanup_push(countTask_cancel_handler, NULL); while (1) { printf("countTaskAsync: elapsed time (second): %2d\n", i++ ); @@ -114,8 +124,10 @@ void *countTaskAsync(void *ignored) } /* sleep for 5 seconds, then cancel it */ sleep(5); - pthread_cancel(task); - pthread_join(task, NULL); + sc = pthread_cancel(task); + fatal_posix_service_status( sc, 0, "cancel deferred" ); + sc = pthread_join(task, NULL); + fatal_posix_service_status( sc, 0, "join deferred" ); } /* Start countTask asynchronous */ @@ -127,8 +139,10 @@ void *countTaskAsync(void *ignored) } /* sleep for 5 seconds, then cancel it */ sleep(5); - pthread_cancel(task); - pthread_join(task, NULL); + sc = pthread_cancel(task); + fatal_posix_service_status( sc, 0, "cancel async" ); + sc = pthread_join(task, NULL); + fatal_posix_service_status( sc, 0, "join async" ); } -- cgit v1.2.3