[tarantool-patches] Re: [PATCH] Fix premature cdata collecting in luaT_pusherror()
Konstantin Osipov
kostja at tarantool.org
Sat Dec 8 01:24:43 MSK 2018
* Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [18/12/08 01:20]:
>
>
> On 07/12/2018 21:15, Alexander Turenko wrote:
> > This is follow up of 28c7e667aee9be8c3288597bcc179d9b4e7b4940 to fix
> > luaT_pusherror() itself, not only luaT_error().
> >
> > Fixes #1955 (again).
> >
> > It is backport of 480868ff8f304ead2fd03e317902a1e8d41c6248 for 1.10.
> > ---
> >
> > https://github.com/tarantool/tarantool/issues/1955
> > https://github.com/tarantool/tarantool/tree/Totktonada/gh-1955-fix-luaT_pusherror-1.10
> >
> > src/lua/utils.c | 20 ++++++++++----------
> > 1 file changed, 10 insertions(+), 10 deletions(-)
> >
> > diff --git a/src/lua/utils.c b/src/lua/utils.c
> > index 27772a9d3..b05d16a73 100644
> > --- a/src/lua/utils.c
> > +++ b/src/lua/utils.c
> > @@ -898,12 +898,20 @@ luaL_error_gc(struct lua_State *L)
> > void
> > luaT_pusherror(struct lua_State *L, struct error *e)
> > {
> > + /*
> > + * gh-1955 luaT_pusherror allocates Lua objects, thus it
>
> Sorry, but usually we do not mention issue numbers in comments.
> Please, reword the comment so as to do not use explicit issue
> number.
I think it's oK to mention issue ## in a changeset doesn't have a test case.
This all comes from future use: if there is no test, it's
difficult to understand what was the patch about without a quick
link to the bugs database.
> > - /*
> > - * gh-1955 luaT_pusherror allocates Lua objects, thus it may trigger
> > - * GC. GC may invoke finalizers which are arbitrary Lua code,
> > - * potentially invalidating last error object, hence error_ref
> > - * below.
> > - */
Alexander only moved this comment. The comment itself was added by
Nick Zavaritsky, I think it was appropriate in this case.
--
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.io - www.twitter.com/kostja_osipov
More information about the Tarantool-patches
mailing list