diff options
Diffstat (limited to 'testsuites/psxtests/psx03')
-rw-r--r-- | testsuites/psxtests/psx03/init.c | 176 | ||||
-rw-r--r-- | testsuites/psxtests/psx03/psx03.scn | 17 | ||||
-rw-r--r-- | testsuites/psxtests/psx03/system.h | 55 | ||||
-rw-r--r-- | testsuites/psxtests/psx03/task.c | 65 |
4 files changed, 0 insertions, 313 deletions
diff --git a/testsuites/psxtests/psx03/init.c b/testsuites/psxtests/psx03/init.c deleted file mode 100644 index 7a23a4c7f1..0000000000 --- a/testsuites/psxtests/psx03/init.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. - * On-Line Applications Research Corporation (OAR). - * All rights assigned to U.S. Government, 1994. - * - * This material may be reproduced by or for the U.S. Government pursuant - * to the copyright license under the clause at DFARS 252.227-7013. This - * notice must appear in all copies of this file and its derivatives. - * - * $Id$ - */ - -#define CONFIGURE_INIT -#include "system.h" -#include <signal.h> -#include <errno.h> - -volatile int Signal_occurred; -volatile int Signal_count; - -void Signal_handler( - int signo -) -{ - Signal_count++; - printf( - "Signal: %d caught by 0x%x (%d)\n", - signo, - pthread_self(), - Signal_count - ); - Signal_occurred = 1; -} - -void *POSIX_Init( - void *argument -) -{ - int status; - struct timespec timeout; - struct sigaction act; - sigset_t mask; - sigset_t waitset; - int signo; - siginfo_t siginfo; - - puts( "\n\n*** POSIX TEST 3 ***" ); - - /* set the time of day, and print our buffer in multiple ways */ - - set_time( TM_FRIDAY, TM_MAY, 24, 96, 11, 5, 0 ); - - /* get id of this thread */ - - Init_id = pthread_self(); - printf( "Init's ID is 0x%08x\n", Init_id ); - - /* install a signal handler */ - - status = sigemptyset( &act.sa_mask ); - assert( !status ); - - act.sa_handler = Signal_handler; - act.sa_flags = 0; - - sigaction( SIGUSR1, &act, NULL ); - - /* initialize signal handler variables */ - - Signal_count = 0; - Signal_occurred = 0; - - /* - * wait on SIGUSR1 for 3 seconds, will timeout - */ - - /* initialize the signal set we will wait for to SIGUSR1 */ - - status = sigemptyset( &waitset ); - assert( !status ); - - status = sigaddset( &waitset, SIGUSR1 ); - assert( !status ); - - timeout.tv_sec = 3; - timeout.tv_nsec = 0; - - puts( "Init: waiting on any signal for 3 seconds." ); - signo = sigtimedwait( &waitset, &siginfo, &timeout ); - assert( signo == -1 ); - - if ( errno == EAGAIN ) - puts( "Init: correctly timed out waiting for SIGUSR1." ); - else - printf( "sigtimedwait returned wrong errno - %d\n", errno ); - - Signal_occurred = 0; - - /* - * wait on SIGUSR1 for 3 seconds, will timeout because Task_1 sends SIGUSR2 - */ - - empty_line(); - - /* initialize a mask to block SIGUSR2 */ - - status = sigemptyset( &mask ); - assert( !status ); - - status = sigaddset( &mask, SIGUSR2 ); - assert( !status ); - - printf( "Init: Block SIGUSR2\n" ); - status = sigprocmask( SIG_BLOCK, &mask, NULL ); - assert( !status ); - - /* create a thread */ - - status = pthread_create( &Task_id, NULL, Task_1, NULL ); - assert( !status ); - - /* signal handler is still installed, waitset is still set for SIGUSR1 */ - - timeout.tv_sec = 3; - timeout.tv_nsec = 0; - - puts( "Init: waiting on any signal for 3 seconds." ); - signo = sigtimedwait( &waitset, &siginfo, &timeout ); - - /* switch to Task 1 */ - - if ( errno == EAGAIN ) - puts( "Init: correctly timed out waiting for SIGUSR1." ); - else - printf( "sigtimedwait returned wrong errno - %d\n", errno ); - assert( signo == -1 ); - - /* - * wait on SIGUSR1 for 3 seconds, Task_2 will send it to us - */ - - empty_line(); - - /* create a thread */ - - status = pthread_create( &Task_id, NULL, Task_2, NULL ); - assert( !status ); - - /* signal handler is still installed, waitset is still set for SIGUSR1 */ - - /* wait on SIGUSR1 for 3 seconds, will receive SIGUSR1 from Task_2 */ - - timeout.tv_sec = 3; - timeout.tv_nsec = 0; - - /* just so we can check that these were altered */ - - siginfo.si_code = -1; - siginfo.si_signo = -1; - siginfo.si_value.sival_int = -1; - - puts( "Init: waiting on any signal for 3 seconds." ); - signo = sigtimedwait( &waitset, &siginfo, &timeout ); - printf( "Init: received (%d) SIGUSR1=%d\n", siginfo.si_signo, SIGUSR1 ); - assert( signo == SIGUSR1 ); - assert( siginfo.si_signo == SIGUSR1 ); - assert( siginfo.si_code == SI_USER ); - assert( siginfo.si_value.sival_int != -1 ); /* rtems does always set this */ - - /* exit this thread */ - - puts( "*** END OF POSIX TEST 3 ***" ); - exit( 0 ); - - return NULL; /* just so the compiler thinks we returned something */ -} diff --git a/testsuites/psxtests/psx03/psx03.scn b/testsuites/psxtests/psx03/psx03.scn deleted file mode 100644 index 61ba36592a..0000000000 --- a/testsuites/psxtests/psx03/psx03.scn +++ /dev/null @@ -1,17 +0,0 @@ -*** POSIX TEST 3 *** -Init's ID is 0x0c010001 -Init: waiting on any signal for 3 seconds. -Init: correctly timed out waiting for SIGUSR1. - -Init: Block SIGUSR2 -Init: waiting on any signal for 3 seconds. -Task_1: Fri May 24 11:05:03 1996 -Task_1: pthread_kill - SIGUSR2 to Init -Init: correctly timed out waiting for SIGUSR1. - -Init: waiting on any signal for 3 seconds. -Task_2: Fri May 24 11:05:06 1996 -Task_1: pthread_kill - SIGUSR1 to Init -Signal: 16 caught by 0xc010001 (1) -Init: received (16) SIGUSR1=16 -*** END OF POSIX TEST 3 *** diff --git a/testsuites/psxtests/psx03/system.h b/testsuites/psxtests/psx03/system.h deleted file mode 100644 index 7a27946b41..0000000000 --- a/testsuites/psxtests/psx03/system.h +++ /dev/null @@ -1,55 +0,0 @@ -/* system.h - * - * This include file contains information that is included in every - * function in the test set. - * - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. - * On-Line Applications Research Corporation (OAR). - * All rights assigned to U.S. Government, 1994. - * - * This material may be reproduced by or for the U.S. Government pursuant - * to the copyright license under the clause at DFARS 252.227-7013. This - * notice must appear in all copies of this file and its derivatives. - * - * $Id$ - */ - -/* functions */ - -#include <pmacros.h> - -void *POSIX_Init( - void *argument -); - -void *Task_1( - void *argument -); - -void *Task_2( - void *argument -); - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#include <confdefs.h> - -/* global variables */ - -#ifdef CONFIGURE_INIT -#define TEST_EXTERN -#else -#define TEST_EXTERN extern -#endif - -TEST_EXTERN pthread_t Init_id; -TEST_EXTERN pthread_t Task_id; - -/* end of include file */ diff --git a/testsuites/psxtests/psx03/task.c b/testsuites/psxtests/psx03/task.c deleted file mode 100644 index b04bf6827b..0000000000 --- a/testsuites/psxtests/psx03/task.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Task_1_through_3 - * - * This routine serves as a test task. It verifies the basic task - * switching capabilities of the executive. - * - * Input parameters: - * argument - task argument - * - * Output parameters: NONE - * - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. - * On-Line Applications Research Corporation (OAR). - * All rights assigned to U.S. Government, 1994. - * - * This material may be reproduced by or for the U.S. Government pursuant - * to the copyright license under the clause at DFARS 252.227-7013. This - * notice must appear in all copies of this file and its derivatives. - * - * $Id$ - */ - -#include "system.h" -#include <signal.h> - -void *Task_1( - void *argument -) -{ - int status; - - /* send SIGUSR2 to Init which is waiting on SIGUSR1 */ - - print_current_time( "Task_1: ", "" ); - - puts( "Task_1: pthread_kill - SIGUSR2 to Init" ); - status = pthread_kill( Init_id, SIGUSR2 ); - assert( !status ); - - pthread_exit( NULL ); - - /* switch to Init */ - - return NULL; /* just so the compiler thinks we returned something */ -} - -void *Task_2( - void *argument -) -{ - int status; - - /* send SIGUSR1 to Init which is waiting on SIGUSR1 */ - - print_current_time( "Task_2: ", "" ); - - puts( "Task_1: pthread_kill - SIGUSR1 to Init" ); - status = pthread_kill( Init_id, SIGUSR1 ); - assert( !status ); - - pthread_exit( NULL ); - - /* switch to Init */ - - return NULL; /* just so the compiler thinks we returned something */ -} |