summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psx04/task3.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/psxtests/psx04/task3.c')
-rw-r--r--testsuites/psxtests/psx04/task3.c119
1 files changed, 0 insertions, 119 deletions
diff --git a/testsuites/psxtests/psx04/task3.c b/testsuites/psxtests/psx04/task3.c
deleted file mode 100644
index 6eb14b9db7..0000000000
--- a/testsuites/psxtests/psx04/task3.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Task_3
- *
- * This routine serves as a test task.
- *
- * 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_3(
- void *argument
-)
-{
- int status;
- int sig;
- union sigval value;
- sigset_t mask;
- siginfo_t info;
-
- value.sival_int = SIGUSR1;
-
- printf( "Task_3: sigqueue SIGUSR1 with value= %d\n", value.sival_int );
- status = sigqueue( getpid(), SIGUSR1, value );
- assert( !status );
-
- /* catch signal with sigwaitinfo */
-
- empty_line();
-
- status = sigemptyset( &mask );
- assert( !status );
-
- status = sigaddset( &mask, SIGUSR1 );
- assert( !status );
-
- printf( "Task_3: sigwaitinfo SIGUSR1 with value= %d\n", value.sival_int );
- status = sigwaitinfo( &mask, &info );
-
- /* switch to Init */
-
- assert( !(status==-1) );
- printf(
- "Task_3: si_signo= %d si_code= %d value= %d\n",
- info.si_signo,
- info.si_code,
- info.si_value.sival_int
- );
-
- /* catch signal with sigwait */
-
- empty_line();
-
- status = sigemptyset( &mask );
- assert( !status );
-
- status = sigaddset( &mask, SIGUSR1 );
- assert( !status );
-
- printf( "Task_3: sigwait SIGUSR1\n" );
- status = sigwait( &mask, &sig );
-
- /* switch to Init */
-
- assert( !status );
- printf( "Task_3: signo= %d\n", sig );
-
- /* catch signal with pause */
-
- empty_line();
-
- status = sigemptyset( &mask );
- assert( !status );
-
- status = sigaddset( &mask, SIGUSR1 );
- assert( !status );
-
- printf( "Task_3: pause\n" );
- status = pause( );
-
- /* switch to Init */
-
- assert( !(status==-1) );
- printf( "Task_3: pause= %d\n", status );
-
-
- /* send signal to Init task before it has pended for a signal */
-
- empty_line();
-
- printf( "Task_3: sending SIGUSR2\n" );
- status = pthread_kill( Init_id, SIGUSR2 );
- assert( !status );
-
- printf( "Task_3: sleep so the Init task can reguest a signal\n" );
- status = sleep( 1 );
- assert( !status );
-
- /* end of task 3 */
- printf( "Task_3: exit\n" );
- pthread_exit( NULL );
-
- /* switch to Init */
-
- return NULL; /* just so the compiler thinks we returned something */
-}