equal
deleted
inserted
replaced
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 |