diff options
Diffstat (limited to 'testsuites/psxtests/psx04')
-rw-r--r-- | testsuites/psxtests/psx04/init.c | 188 | ||||
-rw-r--r-- | testsuites/psxtests/psx04/psx04.scn | 0 | ||||
-rw-r--r-- | testsuites/psxtests/psx04/system.h | 51 |
3 files changed, 0 insertions, 239 deletions
diff --git a/testsuites/psxtests/psx04/init.c b/testsuites/psxtests/psx04/init.c deleted file mode 100644 index 1db88461df..0000000000 --- a/testsuites/psxtests/psx04/init.c +++ /dev/null @@ -1,188 +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> - -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 sigaction act; - sigset_t mask; - sigset_t pending_set; - - puts( "\n\n*** POSIX TEST 4 ***" ); - - /* 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 for SIGUSR1 */ - - status = sigemptyset( &act.sa_mask ); - assert( !status ); - - act.sa_handler = Signal_handler; - act.sa_flags = 0; - - sigaction( SIGUSR1, &act, NULL ); - - /* simple signal to process */ - - Signal_count = 0; - Signal_occurred = 0; - - printf( "Init: send SIGUSR1 to process\n" ); - status = kill( getpid(), SIGUSR1 ); - assert( !status ); - - Signal_occurred = 0; - - /* now block the signal, send it, see if it is pending, and unblock it */ - - empty_line(); - - status = sigemptyset( &mask ); - assert( !status ); - - status = sigaddset( &mask, SIGUSR1 ); - assert( !status ); - - printf( "Init: Block SIGUSR1\n" ); - status = sigprocmask( SIG_BLOCK, &mask, NULL ); - assert( !status ); - - status = sigpending( &pending_set ); - assert( !status ); - printf( "Init: Signals pending 0x%08x\n", pending_set ); - - printf( "Init: send SIGUSR1 to process\n" ); - status = kill( getpid(), SIGUSR1 ); - assert( !status ); - - status = sigpending( &pending_set ); - assert( !status ); - printf( "Init: Signals pending 0x%08x\n", pending_set ); - - printf( "Init: Unblock SIGUSR1\n" ); - status = sigprocmask( SIG_UNBLOCK, &mask, NULL ); - assert( !status ); - - /* now let another task get interrupted by a signal */ - - empty_line(); - - printf( "Init: create a thread interested in SIGUSR1\n" ); - status = pthread_create( &Task_id, NULL, Task_1_through_3, NULL ); - assert( !status ); - - printf( "Init: Block SIGUSR1\n" ); - status = sigprocmask( SIG_BLOCK, &mask, NULL ); - assert( !status ); - - status = sigpending( &pending_set ); - assert( !status ); - printf( "Init: Signals pending 0x%08x\n", pending_set ); - - printf( "Init: sleep so the other task can block\n" ); - status = sleep( 1 ); - assert( !status ); - - /* switch to task 1 */ - - printf( "Init: send SIGUSR1 to process\n" ); - status = kill( getpid(), SIGUSR1 ); - assert( !status ); - - status = sigpending( &pending_set ); - assert( !status ); - printf( "Init: Signals pending 0x%08x\n", pending_set ); - - printf( "Init: sleep so the other task can catch signal\n" ); - status = sleep( 1 ); - assert( !status ); - - /* switch to task 1 */ - - /* test alarm */ - - empty_line(); - - /* install a signal handler for SIGALRM and unblock it */ - - status = sigemptyset( &act.sa_mask ); - assert( !status ); - - act.sa_handler = Signal_handler; - act.sa_flags = 0; - - sigaction( SIGALRM, &act, NULL ); - - status = sigemptyset( &mask ); - assert( !status ); - - status = sigaddset( &mask, SIGALRM ); - assert( !status ); - - printf( "Init: Unblock SIGALRM\n" ); - status = sigprocmask( SIG_UNBLOCK, &mask, NULL ); - assert( !status ); - - /* schedule the alarm */ - - printf( "Init: Firing alarm in 5 seconds\n" ); - status = alarm( 5 ); - printf( "Init: %d seconds left on previous alarm\n", status ); - assert( !status ); - - printf( "Init: Firing alarm in 2 seconds\n" ); - status = alarm( 2 ); - printf( "Init: %d seconds left on previous alarm\n", status ); - assert( status ); - - printf( "Init: Wait 4 seconds for alarm\n" ); - status = sleep( 4 ); - printf( "Init: %d seconds left in sleep\n", status ); - assert( status ); - - /* exit this thread */ - - puts( "*** END OF POSIX TEST 4 ***" ); - exit( 0 ); - - return NULL; /* just so the compiler thinks we returned something */ -} diff --git a/testsuites/psxtests/psx04/psx04.scn b/testsuites/psxtests/psx04/psx04.scn deleted file mode 100644 index e69de29bb2..0000000000 --- a/testsuites/psxtests/psx04/psx04.scn +++ /dev/null diff --git a/testsuites/psxtests/psx04/system.h b/testsuites/psxtests/psx04/system.h deleted file mode 100644 index 2d0d07b32c..0000000000 --- a/testsuites/psxtests/psx04/system.h +++ /dev/null @@ -1,51 +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_through_3( - 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 */ |