[LTP] [PATCH v2 3/3] syscalls/sigpending02.c: Add libc sigpending() detection && reset sighandler_counter

Xiao Yang yangx.jy@cn.fujitsu.com
Fri Apr 5 09:33:17 CEST 2019


On 2019/04/05 15:21, Petr Vorel wrote:
> Hi Xiao,
>
>> 1) bionic(Android libc) doesn't implement libc sigpending() currently,
>>     so we can skip it on Android by the detection.
>> 2) Fix sigpending02 -i n by resetting sighandler_counter variable.
> Good catch, thanks!
>
>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com>
> Reviewed-by: Petr Vorel<pvorel@suse.cz>
>
> ...
>> +++ b/testcases/kernel/syscalls/sigpending/sigpending02.c
>> @@ -13,6 +13,7 @@
>>    * Test 2: Call sigpending(sigset_t*=-1), it should return -1 with errno EFAULT.
>>    */
>> +#include "config.h"
>>   #include "tst_test.h"
>>   #include "ltp_signal.h"
>>   #include "lapi/syscalls.h"
>> @@ -36,7 +37,11 @@ static int tested_sigpending(sigset_t *sigset)
>>   {
>>   	switch (tst_variant) {
>>   	case 0:
>> +#ifndef HAVE_SIGPENDING
>> +		tst_brk(TCONF, "libc sigpending() is not implemented");
>> +#else
>>   		return sigpending(sigset);
>> +#endif
>>   	break;
> NOTE: I removed this break with 6d5b03aa9 ("Remove unnecessary breaks"),
> so you need to add it when rebasing this commit.
Hi Petr,

Sure, i will add it in v3 patch. :-)

Best Regards,
Xiao Yang
>
>>   	case 1:
>>   		return tst_syscall(__NR_sigpending, sigset);
>> @@ -60,6 +65,8 @@ static void test_sigpending(void)
>>   	int i; /* loop index */
>> +	sighandler_counter = 0;
>> +
>>   	/* set up signal mask and handler */
>>   	sigset_t only_SIGUSR, old_mask;
>>   	sighandler_t old_sighandler1, old_sighandler2;
> Kind regards,
> Petr
>
>
> .
>





More information about the ltp mailing list