Software /
code /
prosody
File
util-src/time.c @ 11490:34d4e4a01ef8
util.prosodyctl: Install plugins for current Lua version
Fixes that luarocks defaults to installing the rock for its own runtime
version of Lua.
This only works with luarocks 3.x, it does nothing on 2.x as currently
available from Debian.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 16 Mar 2021 02:44:22 +0100 |
parent | 10480:94cacf9fd0ae |
child | 12976:a187600ec7d6 |
line wrap: on
line source
#ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #include <time.h> #include <lua.h> static lua_Number tv2number(struct timespec *tv) { return tv->tv_sec + tv->tv_nsec * 1e-9; } static int lc_time_realtime(lua_State *L) { struct timespec t; clock_gettime(CLOCK_REALTIME, &t); lua_pushnumber(L, tv2number(&t)); return 1; } static 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; }