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) { |