From 15c3b371e2121bfab8d5a91a15b2626799b454a1 Mon Sep 17 00:00:00 2001 From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:12:49 +0000 Subject: [PATCH] According to POSIX and Linux implementation the alarm() system call is always successfull. So, ignore any errors and return 0 as a Linux do. XXX. Unlike POSIX, Linux in case when the invalid seconds value specified always return 0, so in that case Linux does not return proper remining time. MFC after: 1 week --- sys/compat/linux/linux_misc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index fe4dbf642427..a9c330ac1afa 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -191,7 +191,6 @@ linux_alarm(struct thread *td, struct linux_alarm_args *args) { struct itimerval it, old_it; u_int secs; - int error; #ifdef DEBUG if (ldebug(alarm)) @@ -207,9 +206,7 @@ linux_alarm(struct thread *td, struct linux_alarm_args *args) it.it_value.tv_usec = 0; it.it_interval.tv_sec = 0; it.it_interval.tv_usec = 0; - error = kern_setitimer(td, ITIMER_REAL, &it, &old_it); - if (error) - return (error); + kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { if (old_it.it_value.tv_usec != 0) old_it.it_value.tv_sec++;