*** 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 ***