summaryrefslogblamecommitdiff
path: root/src/thread/thrd_sleep.c
blob: 97de53455ede450885fcd6bdd6bb6de09b97071a (plain) (tree)
1
2
3
4
5
6
7
8
                    
                 




                                                                
                                                                  





                                                            
#include <threads.h>
#include <time.h>
#include <errno.h>
#include "syscall.h"

int thrd_sleep(const struct timespec *req, struct timespec *rem)
{
	int ret = -__clock_nanosleep(CLOCK_REALTIME, 0, req, rem);
	switch (ret) {
	case 0:      return 0;
	case -EINTR: return -1; /* value specified by C11 */
	default:     return -2;
	}
}