*** POSIX TEST 4 ***
Init's ID is 0x0c010001
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
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 - ENOSYS (signal SA_SIGINFO)
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 ***
