Software / code / prosody
Comparison
util-src/poll.c @ 12315:cf2086a1bd45
util.poll: Expose API (epoll or select) used
Could he handy to know for debugging or decisions
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 27 Feb 2022 14:36:43 +0100 |
| parent | 12314:898554323338 |
| child | 12316:6bb2f660f689 |
comparison
equal
deleted
inserted
replaced
| 12314:898554323338 | 12315:cf2086a1bd45 |
|---|---|
| 12 #include <string.h> | 12 #include <string.h> |
| 13 #include <errno.h> | 13 #include <errno.h> |
| 14 | 14 |
| 15 #if defined(__linux__) | 15 #if defined(__linux__) |
| 16 #define USE_EPOLL | 16 #define USE_EPOLL |
| 17 #define POLL_BACKEND "epoll" | |
| 17 #else | 18 #else |
| 18 #define USE_SELECT | 19 #define USE_SELECT |
| 20 #define POLL_BACKEND "select" | |
| 19 #endif | 21 #endif |
| 20 | 22 |
| 21 #ifdef USE_EPOLL | 23 #ifdef USE_EPOLL |
| 22 #include <sys/epoll.h> | 24 #include <sys/epoll.h> |
| 23 #ifndef MAX_EVENTS | 25 #ifndef MAX_EVENTS |
| 29 #endif | 31 #endif |
| 30 | 32 |
| 31 #include <lualib.h> | 33 #include <lualib.h> |
| 32 #include <lauxlib.h> | 34 #include <lauxlib.h> |
| 33 | 35 |
| 34 #ifdef USE_EPOLL | 36 #define STATE_MT "util.poll<" POLL_BACKEND ">" |
| 35 #define STATE_MT "util.poll<epoll>" | |
| 36 #endif | |
| 37 #ifdef USE_SELECT | |
| 38 #define STATE_MT "util.poll<select>" | |
| 39 #endif | |
| 40 | 37 |
| 41 #if (LUA_VERSION_NUM == 501) | 38 #if (LUA_VERSION_NUM == 501) |
| 42 #define luaL_setmetatable(L, tname) luaL_getmetatable(L, tname); lua_setmetatable(L, -2) | 39 #define luaL_setmetatable(L, tname) luaL_getmetatable(L, tname); lua_setmetatable(L, -2) |
| 43 #endif | 40 #endif |
| 44 #if (LUA_VERSION_NUM < 504) | 41 #if (LUA_VERSION_NUM < 504) |
| 485 lua_setfield(L, -2, #named_error); | 482 lua_setfield(L, -2, #named_error); |
| 486 | 483 |
| 487 push_errno(EEXIST); | 484 push_errno(EEXIST); |
| 488 push_errno(ENOENT); | 485 push_errno(ENOENT); |
| 489 | 486 |
| 490 } | 487 lua_pushliteral(L, POLL_BACKEND); |
| 491 return 1; | 488 lua_setfield(L, -2, "api"); |
| 492 } | 489 |
| 493 | 490 } |
| 491 return 1; | |
| 492 } | |
| 493 |