mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 12:52:29 -04:00
selftests: timers: nanosleep: Explicitly handle timer_delete() failure
An upcoming patch will remove the early exit on failure of a single testcase. If a test fails because a timeout timer could not be deleted, then that timeout timer might interfere with the following tettcases. Exit the whole test case with a clear error message in this case. Other failures are not problematic: * If timer_settime() fails, a harmless unarmed timer is left around. * The SIGALRM handler reconfigured for each call to nanosleep_test_remaining() anyways. Signed-off-by: Thomas Weißschuh (Schneider Electric) <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260803-auxclock-nanosleep-prep-v2-12-910cbd485390@linutronix.de
This commit is contained in:
committed by
Thomas Gleixner
parent
061341a568
commit
f2ff28a522
@@ -111,11 +111,14 @@ static int nanosleep_test_remaining(int clockid)
|
||||
|
||||
rqtp.tv_nsec = NSEC_PER_SEC / 2;
|
||||
ret = clock_nanosleep(clockid, 0, &rqtp, &rmtp);
|
||||
if (ret != EINTR)
|
||||
return KSFT_FAIL;
|
||||
|
||||
ret = timer_delete(timer);
|
||||
if (ret)
|
||||
if (timer_delete(timer)) {
|
||||
ksft_exit_fail_msg("Unable to delete the timeout timer for %s. "
|
||||
"This might interfere with following testcases.\n",
|
||||
clock_name(clockid));
|
||||
}
|
||||
|
||||
if (ret != EINTR)
|
||||
return KSFT_FAIL;
|
||||
|
||||
sa.sa_handler = SIG_DFL;
|
||||
|
||||
Reference in New Issue
Block a user