Mercurial > prosody-hg
view util-src/time.c @ 14182:a331cde41c85 13.0
util.poll: Reject fd == FD_SETSIZE
FD_SETSIZE is the maximum total number of FDs supports (well, the highest
valid fd number). 0 is a valid fd number, so it supports up to 1023 if
FD_SETSIZE is 1024.
This is just a fencepost issue, fds > FD_SETSIZE were already correctly
rejected.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 25 May 2026 16:06:19 +0100 |
| parents | a187600ec7d6 |
| children | 973609bad40a |
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_prosody_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; } int luaopen_util_time(lua_State *L) { return luaopen_prosody_util_time(L); }
