summaryrefslogtreecommitdiff
path: root/lib/libc/time/time.c
blob: 27e5a06fddf556317f3995ab6597c1374e145ecc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <asm/vdso.h>
#include <time.h>

extern void __libc_init_vdso(void);
void *__libc_force_vdso_init = (void *) __libc_init_vdso;

time_t time(time_t *tloc)
{
	struct timespec ts;

#if defined(__VDSO_TIME)
	if (__vdso_time)
		return __vdso_time(tloc);
#endif

	clock_gettime(CLOCK_REALTIME, &ts);

	if (tloc)
		*tloc = ts.tv_sec;

	return ts.tv_sec;
}