mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user