src/luaevent.c

changeset 75
5a5f46aed0c1
parent 72
adb5fa9ea85a
child 78
4782f315942f
equal deleted inserted replaced
74:8f1e69d846c1 75:5a5f46aed0c1
89 event_add(&arg->ev, tv); 89 event_add(&arg->ev, tv);
90 return 1; 90 return 1;
91 } 91 }
92 92
93 static int luaevent_loop(lua_State* L) { 93 static int luaevent_loop(lua_State* L) {
94 int ret;
94 le_base *base = event_base_get(L, 1); 95 le_base *base = event_base_get(L, 1);
95 base->loop_L = L; 96 base->loop_L = L;
96 int ret = event_base_loop(base->base, 0); 97 ret = event_base_loop(base->base, 0);
97 lua_pushinteger(L, ret); 98 lua_pushinteger(L, ret);
98 return 1; 99 return 1;
99 } 100 }
100 101
101 static int luaevent_loopexit(lua_State*L) { 102 static int luaevent_loopexit(lua_State*L) {
103 int ret;
102 le_base *base = event_base_get(L, 1); 104 le_base *base = event_base_get(L, 1);
103 struct timeval tv = { 0, 0 }; 105 struct timeval tv = { 0, 0 };
104 if(lua_gettop(L) >= 2) /* Optional timeout before exiting the loop */ 106 if(lua_gettop(L) >= 2) /* Optional timeout before exiting the loop */
105 load_timeval(luaL_checknumber(L, 2), &tv); 107 load_timeval(luaL_checknumber(L, 2), &tv);
106 int ret = event_base_loopexit(base->base, &tv); 108 ret = event_base_loopexit(base->base, &tv);
107 lua_pushinteger(L, ret); 109 lua_pushinteger(L, ret);
108 return 1; 110 return 1;
109 } 111 }
110 112
111 static int luaevent_method(lua_State* L) { 113 static int luaevent_method(lua_State* L) {

mercurial