[LTP] [PATCH] syscalls/rt_sigsuspend01: ignore reserved signals

Steve Muckle smuckle@google.com
Sat Nov 17 05:53:05 CET 2018


Hi Cyril this applies on top of the recent series you sent:

[LTP] [PATCH 0/3] Add rt signal newlib support + convert rt_sigsuspend01

thanks,
Steve

On 11/16/2018 08:51 PM, Steve Muckle wrote:
> Some signals may be internally used by the C library. Do not attempt to
> verify these.
> 
> Signed-off-by: Steve Muckle <smuckle@google.com>
> ---
>   .../kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c | 13 ++++++++-----
>   1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
> index 14b6bb332..f17a9aae6 100644
> --- a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
> +++ b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
> @@ -26,6 +26,7 @@ static void sig_handler(int sig)
>   
>   static void verify_rt_sigsuspend(void)
>   {
> +	int i;
>   	sigset_t set, set1, set2;
>   	struct sigaction act = {.sa_handler = sig_handler};
>   
> @@ -51,11 +52,13 @@ static void verify_rt_sigsuspend(void)
>   	tst_res(TPASS, "rt_sigsuspend() returned with -1 and EINTR");
>   
>   	SAFE_RT_SIGPROCMASK(0, NULL, &set2, SIGSETSIZE);
> -
> -	if (memcmp(&set1, &set2, sizeof(unsigned long)))
> -		tst_res(TFAIL, "signal mask not preserved");
> -	else
> -		tst_res(TPASS, "signal mask preserved");
> +	for (i = 1; i < SIGRTMAX; i++) {
> +		if (i >= __SIGRTMIN && i < SIGRTMIN)
> +			continue;
> +		if (sigismember(&set1, i) != sigismember(&set2, i))
> +			tst_brk(TFAIL, "signal mask not preserved");
> +	}
> +	tst_res(TPASS, "signal mask preserved");
>   }
>   
>   static struct tst_test test = {
> 



More information about the ltp mailing list