aboutsummaryrefslogtreecommitdiff
path: root/system/__alarm.c
blob: 49eb8f6adff05c0fa3de9460537aaa14dabd60db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <asm/unistd.h>
#ifndef __NR_alarm

#include <unistd.h>
#include <sys/time.h>

unsigned int alarm(unsigned int seconds) {
  struct itimerval old, new;
  unsigned int ret;
  new.it_interval.tv_usec=0;
  new.it_interval.tv_sec=0;
  new.it_value.tv_usec	=0;
  new.it_value.tv_sec	=(long)seconds;
  if (setitimer(ITIMER_REAL,&new,&old)==-1) return 0;
  return old.it_value.tv_sec+(old.it_value.tv_usec?1:0);
}
#endif