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
This commit is contained in:
parent
9f4e66afb9
commit
15c3b371e2
@ -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++;
|
||||
|
Loading…
Reference in New Issue
Block a user