ualarm()'s arguments are actually useconds_t, too.

Fixed implementation of ualarm() to support larger values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14890 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2005-11-13 13:20:25 +00:00
parent ec068e96bb
commit 6065411b88
2 changed files with 10 additions and 10 deletions

View File

@ -129,7 +129,7 @@ extern int tcsetpgrp(int fd, pid_t pgrpid);
extern void *sbrk(long incr);
extern unsigned int alarm(unsigned int seconds);
extern useconds_t ualarm(unsigned int microSeconds, unsigned int interval);
extern useconds_t ualarm(useconds_t microSeconds, useconds_t interval);
extern unsigned int sleep(unsigned int seconds);
extern int usleep(unsigned int microSeconds);
extern clock_t clock(void);

View File

@ -1,7 +1,7 @@
/*
** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
** Distributed under the terms of the Haiku License.
*/
* Copyright 2004-2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#include <errno.h>
@ -11,15 +11,15 @@
#include <syscalls.h>
uint
ualarm(uint usec, uint interval)
useconds_t
ualarm(useconds_t usec, useconds_t interval)
{
struct itimerval value, oldValue;
value.it_value.tv_sec = 0;
value.it_value.tv_usec = usec;
value.it_interval.tv_sec = 0;
value.it_interval.tv_usec = interval;
value.it_value.tv_sec = usec / 1000000;
value.it_value.tv_usec = usec % 1000000;
value.it_interval.tv_sec = interval / 1000000;
value.it_interval.tv_usec = interval % 1000000;
if (setitimer(ITIMER_REAL, &value, &oldValue) < 0)
return -1;