Well, I agree with you about the api name. And, since we have done this, the "fd:cancel" should be renamed to "fd:delete" too.
The code is: static const luaL_Reg ufd_m[] = { { "cancel", ul_ufd_delete }, { NULL, NULL } }; On Fri, Jun 20, 2014 at 7:40 PM, John Crispin <j...@phrozen.org> wrote: > > > On 20/06/2014 13:31, xf...@credosemi.com wrote: > > The static variable `state` in `lua/uloop.c` should be clean after > > every callback. > > > > Signed-off-by: Xiongfei(Alex) Guo <xf...@credosemi.com> --- > > > Hi, > > just had a quick browse over the patches. looks good, the only nipick > i have is this > > +static int ul_cancel(lua_State *L) > +{ > + uloop_end(); > + return 1; > +} > > can we rename is to ul_end() and then also fix up {"cancel", > ul_cancel} to use end instead of cancel. that way the apis have the > same names in lua and c. apart from that thanks for the patches, i > will give them a try later on and then merge them into the git. > > John > > > > > > > > > > > > > lua/uloop.c | 2 ++ 1 file changed, 2 insertions(+) > > > > diff --git a/lua/uloop.c b/lua/uloop.c index 51f53c2..5922e04 > > 100644 --- a/lua/uloop.c +++ b/lua/uloop.c @@ -43,6 +43,7 @@ static > > void ul_timer_cb(struct uloop_timeout *t) > > > > lua_getglobal(state, "__uloop_cb"); lua_rawgeti(state, -1, > > tout->r); + lua_remove(state, -2); lua_call(state, 0, 0); } > > > > @@ -133,6 +134,7 @@ static void ul_process_cb(struct uloop_process > > *p, int ret) lua_getglobal(state, "__uloop_cb"); lua_rawgeti(state, > > -1, proc->r); luaL_unref(state, -2, proc->r); + lua_remove(state, > > -2); lua_pushinteger(state, ret >> 8); lua_call(state, 1, 0); } > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel >
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel