fix ostest sigprocmask testcase
problem: ostest may fail at procmask test, because signals:sigkill/sigstop should not be added in signal mask solution: skip checking whether sigkill/sigstop are in signal mask Signed-off-by: guanyi <guanyi@xiaomi.com>
This commit is contained in:
parent
4a4c550ced
commit
f50d2cdbe3
@ -100,13 +100,19 @@ void sigprocmask_test(void)
|
||||
{
|
||||
int signo = g_some_signals[i];
|
||||
|
||||
ret = sigaddset(&newmask, signo);
|
||||
if (ret != OK)
|
||||
/* SIGKILL and SIGSTOP should not be added to signal mask */
|
||||
|
||||
if (signo != SIGKILL && signo != SIGSTOP)
|
||||
{
|
||||
int errcode = errno;
|
||||
printf("sigprocmask_test: ERROR sigaddset failed: %d\n", errcode);
|
||||
ASSERT(false);
|
||||
goto errout_with_mask;
|
||||
ret = sigaddset(&newmask, signo);
|
||||
if (ret != OK)
|
||||
{
|
||||
int errcode = errno;
|
||||
printf("sigprocmask_test: ERROR sigaddset failed: %d\n",
|
||||
errcode);
|
||||
ASSERT(false);
|
||||
goto errout_with_mask;
|
||||
}
|
||||
}
|
||||
|
||||
ret = sighold(signo);
|
||||
@ -195,6 +201,28 @@ void sigprocmask_test(void)
|
||||
goto errout_with_mask;
|
||||
}
|
||||
|
||||
/* SIGKILL and SIGSTOP should never be added to signal mask,
|
||||
* so delete them from newmask before comparing.
|
||||
*/
|
||||
|
||||
ret = sigdelset(&newmask, SIGKILL);
|
||||
if (ret != OK)
|
||||
{
|
||||
int errcode = errno;
|
||||
printf("sigprocmask_test: ERROR sigprocmask failed: %d\n", errcode);
|
||||
ASSERT(false);
|
||||
goto errout_with_mask;
|
||||
}
|
||||
|
||||
ret = sigdelset(&newmask, SIGSTOP);
|
||||
if (ret != OK)
|
||||
{
|
||||
int errcode = errno;
|
||||
printf("sigprocmask_test: ERROR sigprocmask failed: %d\n", errcode);
|
||||
ASSERT(false);
|
||||
goto errout_with_mask;
|
||||
}
|
||||
|
||||
/* It should be the same as newmask */
|
||||
|
||||
if (memcmp(&currmask, &newmask, sizeof(sigset_t)) != 0)
|
||||
|
Loading…
Reference in New Issue
Block a user