summaryrefslogtreecommitdiff
path: root/klibc/klibc/sleep.c
blob: eb3777e8a60e810f95a5479fa9adf22b32b17316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 * sleep.c
 */

#include <errno.h>
#include <time.h>

unsigned int sleep(unsigned int seconds)
{
  struct timespec ts;

  ts.tv_sec = seconds;
  ts.tv_nsec = 0;
  if ( !nanosleep(&ts,&ts) )
    return 0;
  else if ( errno == EINTR )
    return ts.tv_sec;
  else
    return -1;
}