2005-09-01 Joel Sherrill <joel@OARcorp.com>

PR 628/rtems
	* psx04/init.c, psx04/psx04.scn: Update tests to reflect a signal of 0
	being an error.
This commit is contained in:
Joel Sherrill
2005-09-01 16:14:17 +00:00
parent 3c838f1ac8
commit feedcdc65f
3 changed files with 137 additions and 107 deletions

View File

@@ -1,3 +1,9 @@
2005-09-01 Joel Sherrill <joel@OARcorp.com>
PR 628/rtems
* psx04/init.c, psx04/psx04.scn: Update tests to reflect a signal of 0
being an error.
2004-03-05 Joel Sherrill <joel@OARcorp.com>
* psxmsgq01/init.c, psxtimer/psxtimer.c: Eliminate warning from

View File

@@ -421,8 +421,10 @@ void *POSIX_Init(
puts( "Init: sigaddset - EINVAL (set invalid)" );
status = sigaddset( &mask, 0 );
assert( !status );
puts( "Init: sigaddset - SUCCESSFUL (signal = 0)" );
if ( status != -1 )
printf( "status = %d\n", status );
assert( errno == EINVAL );
puts( "Init: sigaddset - EINVAL (signal = 0)" );
status = sigaddset( &mask, 999 );
if ( status != -1 )
@@ -463,8 +465,10 @@ void *POSIX_Init(
puts( "Init: sigismember - EINVAL (signal invalid)" );
status = sigaction( 0, &act, 0 );
assert( !status );
puts( "Init: sigaction - SUCCESSFUL (signal = 0)" );
if ( status != -1 )
printf( "status = %d\n", status );
assert( errno == EINVAL );
puts( "Init: sigaction - EINVAL (signal = 0)" );
status = sigaction( 999, &act, NULL );
if ( status != -1 )
@@ -523,8 +527,10 @@ void *POSIX_Init(
puts( "Init: pthread_kill - ESRCH (signal SA_SIGINFO)" );
status = pthread_kill( Init_id, 0 );
assert( !status );
puts( "Init: pthread_kill - SUCCESSFUL (signal = 0)" );
if ( status != -1 )
printf( "status = %d\n", status );
assert( errno == EINVAL );
puts( "Init: pthread_kill - EINVAL (signal = 0)" );
act.sa_handler = SIG_IGN;
act.sa_flags = 0;
@@ -540,8 +546,10 @@ void *POSIX_Init(
puts( "Init: kill - ESRCH (pid invalid)" );
status = kill( getpid(), 0 );
assert( !status );
puts( "Init: kill - SUCCESSFUL (signal = 0)" );
if ( status != -1 )
printf( "status = %d\n", status );
assert( errno == EINVAL );
puts( "Init: kill - EINVAL (signal = 0)" );
status = kill( getpid(), 999 );
if ( status != -1 )

View File

@@ -1,99 +1,115 @@
*** POSIX TEST 4 ***
Init's ID is 0x0b010001
Init: sigemptyset - set= 0x00000000
Init: sigfillset - set= 0xffffffff
Init: sigdelset - delete SIGUSR1 set= 0xffff7fff
Init: sigismember - FALSE since SIGUSR1 is not a member
Init: sigismember - TRUE since SIGUSR2 is a member
Init: send SIGUSR1 to process
Signal: 16 caught by 0xc010001 (1)
Init: Block SIGUSR1
Init: send SIGUSR1 to process
Signal: 16 caught by 0xc010001 (1)
Init: Block SIGUSR1
Init: Signals pending 0x00000000
Init: send SIGUSR1 to process
Init: Signals pending 0x00008000
Init: Unblock SIGUSR1
Signal: 16 caught by 0xc010001 (2)
Init: create a thread interested in SIGUSR1
Init: Block SIGUSR1
Init: Signals pending 0x00000000
Init: sleep so the other task can block
Task_1: sleeping for 5 seconds
Init: send SIGUSR1 to process
Init: Signals pending 0x00008000
Init: sleep so the other task can catch signal
Signal: 16 caught by 0xc010002 (3)
Task_1: 4 seconds left
Task_1: exit
Init: Unblock SIGALRM
Init: Firing alarm in 5 seconds
Init: 0 seconds left on previous alarm
Init: Firing alarm in 2 seconds
Init: 4 seconds left on previous alarm - MAY BE 5 SECONDS ALSO
Init: Wait 4 seconds for alarm
Signal: 14 caught by 0xc010001 (4)
Init: 2 seconds left in sleep
Init: Block SIGUSR1 and SIGUSR2 only
Init: Previous blocked set was 0x00008000
Init: Current blocked set is 0x00018000
Init: Unblock all signals
Init: Previous blocked set was 0x00018000
Init: create a thread to send Init SIGUSR1
Init: sigsuspend for any signal
Task_2: sending SIGUSR1
Task_2: exit
Signal: 16 caught by 0xc010001 (5)
Init: awakended from sigsuspend status=00000016
Init: create a thread to sent Process SIGUSR1 with SA_SIGINFO
Init: sleep so the Task_3 can sigqueue SIGUSR1
Task_3: sigqueue SIGUSR1 with value= 16
Signal_info: 16 caught by 0xc010004 (6) si_signo= 16 si_code= 1 value= 16
Task_3: sigwaitinfo SIGUSR1 with value= 16
Init: sigqueue occurred
Init: Block SIGUSR1
Init: send SIGUSR1 to process
Init: sleep so the Task_3 can receive SIGUSR1
Task_3: si_signo= 16 si_code= 1 value= 0
Task_3: sigwait SIGUSR1
Init: Block SIGUSR1
Init: send SIGUSR1 to process
Init: sleep so the Task_3 can receive SIGUSR1
Task_3: signo= 16
Task_3: pause
Init: Block SIGUSR2
Init: send SIGUSR2 to process
Init: sleep so the Task_3 can receive SIGUSR2
Task_3: pause= 17
Task_3: sending SIGUSR2
Task_3: sleep so the Init task can reguest a signal
Init: sigsuspend for any signal
Init: awakended from sigsuspend status=17
Init: sigemptyset - EINVAL (set invalid)
Init: sigfillset - EINVAL (set invalid)
Init: sigaddset - EINVAL (set invalid)
Init: sigaddset - SUCCESSFUL (signal = 0)
Init: sigaddset - EINVAL (set invalid)
Init: sigdelset - EINVAL (set invalid)
Init: sigdelset - SUCCESSFUL (signal = 0)
Init: sigdelset - EINVAL (set invalid)
Init: sigismember - EINVAL (set invalid)
Init: sigismember - SUCCESSFUL (signal = 0)
Init: sigismember - EINVAL (signal invalid)
Init: sigaction - SUCCESSFUL (signal = 0)
Init: sigaction - EINVAL (signal invalid)
Init: sigaction - EINVAL (SIGKILL)
Init: pthread_sigmask - EINVAL (set and oset invalid)
Init: pthread_sigmask - EINVAL (how invalid)
Init: sigpending - EINVAL (set invalid)
Init: pthread_sigmask - EINVAL (timout->nsec invalid < 0)
Init: pthread_sigmask - EINVAL (timout->nsec invalid to large)
Init: pthread_kill - EINVAL (sig invalid)
Init: pthread_kill - ESRCH (signal SA_SIGINFO)
Init: pthread_kill - SUCCESSFUL (signal = 0)
Init: pthread_kill - SUCCESSFUL (signal = SIG_IGN)
Init: kill - ESRCH (pid invalid)
Init: kill - SUCCESSFUL (signal = 0)
Init: kill - EINVAL (sig invalid)
*** END OF POSIX TEST 4 ***
*** POSIX TEST 4 ***
Init's ID is 0x0b010001
Init: sigemptyset - set= 0x00000000
Init: sigfillset - set= 0xffffffff
Init: sigdelset - delete SIGUSR1 set= 0xfeffffff
Init: sigismember - FALSE since SIGUSR1 is not a member
Init: sigismember - TRUE since SIGUSR2 is a member
Init: send SIGUSR1 to process
Signal: 25 caught by 0xb010001 (1)
Init: Block SIGUSR1
Init: send SIGUSR1 to process
Signal: 25 caught by 0xb010001 (1)
Init: Block SIGUSR1
Init: Signals pending 0x00000000
Init: send SIGUSR1 to process
Init: Signals pending 0x01000000
Init: Unblock SIGUSR1
Signal: 25 caught by 0xb010001 (2)
Init: create a thread interested in SIGUSR1
Init: Block SIGUSR1
Init: Signals pending 0x00000000
Init: sleep so the other task can block
Task_1: sleeping for 5 seconds
Init: send SIGUSR1 to process
Init: Signals pending 0x01000000
Init: sleep so the other task can catch signal
Signal: 25 caught by 0xb010002 (3)
Task_1: 4 seconds left
Task_1: exit
Init: Unblock SIGALRM
Init: Firing alarm in 5 seconds
Init: 0 seconds left on previous alarm
Init: Firing alarm in 2 seconds
Init: 5 seconds left on previous alarm
Init: Wait 4 seconds for alarm
Signal: 14 caught by 0xb010001 (4)
Init: 2 seconds left in sleep
Init: Block SIGUSR1 and SIGUSR2 only
Init: Previous blocked set was 0x01000000
Init: Current blocked set is 0x03000000
Init: Unblock all signals
Init: Previous blocked set was 0x03000000
Init: create a thread to send Init SIGUSR1
Init: sigsuspend for any signal
Task_2: sending SIGUSR1
Task_2: exit
Signal: 25 caught by 0xb010001 (5)
Init: awakended from sigsuspend status=-0000001
Init: create a thread to sent Process SIGUSR1 with SA_SIGINFO
Init: sleep so the Task_3 can sigqueue SIGUSR1
Task_3: sigqueue SIGUSR1 with value= 25
Signal_info: 25 caught by 0xb010004 (6) si_signo= 25 si_code= 1 value= 25
Task_3: sigwaitinfo SIGUSR1 with value= 25
Init: sigqueue occurred
Init: Block SIGUSR1
Init: send SIGUSR1 to process
Init: sleep so the Task_3 can receive SIGUSR1
Task_3: si_signo= 25 si_code= 1 value= 0
Task_3: sigwait SIGUSR1
Init: Block SIGUSR1
Init: send SIGUSR1 to process
Init: sleep so the Task_3 can receive SIGUSR1
Task_3: signo= 25
Task_3: pause
Init: Block SIGUSR2
Init: send SIGUSR2 to process
Init: sleep so the Task_3 can receive SIGUSR2
Task_3: pause= 26
Task_3: sending SIGUSR2
Task_3: sleep so the Init task can reguest a signal
Init: sigsuspend for any signal
Init: awakended from sigsuspend status=-1
Init: sigemptyset - EINVAL (set invalid)
Init: sigfillset - EINVAL (set invalid)
Init: sigaddset - EINVAL (set invalid)
Init: sigaddset - EINVAL (signal = 0)
Init: sigaddset - EINVAL (set invalid)
Init: sigdelset - EINVAL (set invalid)
Init: sigdelset - SUCCESSFUL (signal = 0)
Init: sigdelset - EINVAL (set invalid)
Init: sigismember - EINVAL (set invalid)
Init: sigismember - SUCCESSFUL (signal = 0)
Init: sigismember - EINVAL (signal invalid)
Init: sigaction - EINVAL (signal = 0)
Init: sigaction - EINVAL (signal invalid)
Init: sigaction - EINVAL (SIGKILL)
Init: pthread_sigmask - EINVAL (set and oset invalid)
Init: pthread_sigmask - EINVAL (how invalid)
Init: sigpending - EINVAL (set invalid)
Init: pthread_sigmask - EINVAL (timout->nsec invalid < 0)
Init: pthread_sigmask - EINVAL (timout->nsec invalid to large)
Init: pthread_kill - EINVAL (sig invalid)
Init: pthread_kill - ESRCH (signal SA_SIGINFO)
Init: pthread_kill - EINVAL (signal = 0)
Init: pthread_kill - SUCCESSFUL (signal = SIG_IGN)
Init: kill - ESRCH (pid invalid)
Init: kill - EINVAL (signal = 0)
Init: kill - EINVAL (sig invalid)
*** END OF POSIX TEST 4 ***
Unexpected trap (0x09) at address 0x0201bc74
data access exception at 0x00000008