summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/compat/time32/clock_nanosleep_time32.c
blob: 91ef067d0294a9b9ad3f06858354ae5151f5e225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "time32.h"
#include <time.h>
#include <errno.h>

int __clock_nanosleep_time32(clockid_t clk, int flags, const struct timespec32 *req32, struct timespec32 *rem32)
{
	struct timespec rem;
	int ret = clock_nanosleep(clk, flags, (&(struct timespec){
		.tv_sec = req32->tv_sec, .tv_nsec = req32->tv_nsec}), &rem);
	if (ret==EINTR && rem32 && !(flags & TIMER_ABSTIME)) {
		rem32->tv_sec = rem.tv_sec;
		rem32->tv_nsec = rem.tv_nsec;
	}
	return ret;
}