From: Cyrill Gorcunov <gorcunov@gmail.com> To: tarantool <tarantool-patches@freelists.org> Subject: [tarantool-patches] [PATCH] lua,fiber: Fix abort on malformed join input Date: Fri, 22 Feb 2019 22:53:58 +0300 [thread overview] Message-ID: <20190222195358.GZ7198@uranus> (raw) If I create a new fiber and the join to himself we get an abort: | tarantool> f = require('fiber') | --- | ... | | tarantool> f.join(f.self()) | tarantool: src/fiber.c:407: fiber_join: Assertion `fiber->flags & FIBER_IS_JOINABLE' failed. | Aborted (core dumped) we should better throw an error. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> --- src/lua/fiber.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) Index: tarantool.git/src/lua/fiber.c =================================================================== --- tarantool.git.orig/src/lua/fiber.c +++ tarantool.git/src/lua/fiber.c @@ -676,10 +676,14 @@ lbox_fiber_join(struct lua_State *L) { struct fiber *fiber = lbox_checkfiber(L, 1); struct lua_State *child_L = fiber->storage.lua.stack; - fiber_join(fiber); struct error *e = NULL; int num_ret = 0; int coro_ref = 0; + + if (!(fiber->flags & FIBER_IS_JOINABLE)) + luaL_error(L, "the fiber is not joinable"); + fiber_join(fiber); + if (child_L != NULL) { coro_ref = lua_tointeger(child_L, -1); lua_pop(child_L, 1);
next reply other threads:[~2019-02-22 19:54 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-22 19:53 Cyrill Gorcunov [this message] 2019-02-23 12:21 ` [tarantool-patches] " Георгий Кириченко 2019-02-23 12:30 ` Cyrill Gorcunov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190222195358.GZ7198@uranus \ --to=gorcunov@gmail.com \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH] lua,fiber: Fix abort on malformed join input' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox