File

util-src/time.c @ 11123:0f4260f99ea2 0.11

mod_bosh: Pick out the 'wait' before checking it instead of earlier Going to add more host related checks, so to keep the wait variable closer to the related checks
author Kim Alvefur <zash@zash.se>
date Sat, 03 Oct 2020 14:59:11 +0200
parent 9164:35807f02bdc7
child 9680:a374905e99ff
line wrap: on
line source

#ifndef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 199309L
#endif

#include <time.h>
#include <lua.h>

lua_Number tv2number(struct timespec *tv) {
	return tv->tv_sec + tv->tv_nsec * 1e-9;
}

int lc_time_realtime(lua_State *L) {
	struct timespec t;
	clock_gettime(CLOCK_REALTIME, &t);
	lua_pushnumber(L, tv2number(&t));
	return 1;
}

int lc_time_monotonic(lua_State *L) {
	struct timespec t;
	clock_gettime(CLOCK_MONOTONIC, &t);
	lua_pushnumber(L, tv2number(&t));
	return 1;
}

int luaopen_util_time(lua_State *L) {
	lua_createtable(L, 0, 2);
	{
		lua_pushcfunction(L, lc_time_realtime);
		lua_setfield(L, -2, "now");
		lua_pushcfunction(L, lc_time_monotonic);
		lua_setfield(L, -2, "monotonic");
	}
	return 1;
}