[Tarantool-patches] [PATCH 10/11] relay: use verbose names for fibers
Serge Petrenko
sergepetrenko at tarantool.org
Fri Nov 13 13:17:29 MSK 2020
12.11.2020 22:51, Cyrill Gorcunov пишет:
> Usually we use _f postfix for fiber's loop functions
> and using same postfix for the fiber instance itself
> looks inconsistent.
>
> Same time if we grep for "struct fibers" we see a number
> of places where fiber instances are postfixed with _fiber.
>
> Thus lets make the same in relay fiber code:
>
> - use explicit reader_fiber name for a reader
> - use relay_fiber name for the joint relay fiber
> which depends on the reader, moreover this explicit
> name allows to note that the reader cancels the bound
> fiber if error happens.
Applier also has incosistent naming. applier->reader and applier->writer.
Maybe apply the same naming for relay? Make relay_f relay_writer.
And reader_fiber -> relay_reader. It looks better in my opinion.
>
> Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
> ---
> src/box/relay.cc | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/src/box/relay.cc b/src/box/relay.cc
> index fa3dc3a75..a9522d30c 100644
> --- a/src/box/relay.cc
> +++ b/src/box/relay.cc
> @@ -539,7 +539,7 @@ int
> relay_reader_f(va_list ap)
> {
> struct relay *relay = va_arg(ap, struct relay *);
> - struct fiber *relay_f = va_arg(ap, struct fiber *);
> + struct fiber *relay_fiber = va_arg(ap, struct fiber *);
>
> struct ibuf ibuf;
> struct ev_io io;
> @@ -557,7 +557,7 @@ relay_reader_f(va_list ap)
> }
> } catch (Exception *e) {
> relay_set_error(relay, e);
> - fiber_cancel(relay_f);
> + fiber_cancel(relay_fiber);
> }
> ibuf_destroy(&ibuf);
> return 0;
> @@ -688,9 +688,10 @@ relay_subscribe_f(va_list ap)
> /* Start fiber for receiving replica acks. */
> char name[FIBER_NAME_MAX];
> snprintf(name, sizeof(name), "%s:%s", fiber()->name, "reader");
> - struct fiber *reader = fiber_new_xc(name, relay_reader_f);
> - fiber_set_joinable(reader, true);
> - fiber_start(reader, relay, fiber());
> + struct fiber *reader_fiber = fiber_new_xc(name, relay_reader_f);
> + struct fiber *relay_fiber = fiber();
> + fiber_set_joinable(reader_fiber, true);
> + fiber_start(reader_fiber, relay, relay_fiber);
>
> /*
> * If the replica happens to be up to date on subscribe,
> @@ -771,8 +772,8 @@ relay_subscribe_f(va_list ap)
> wal_clear_watcher(&relay->wal_watcher, cbus_process);
>
> /* Join ack reader fiber. */
> - fiber_cancel(reader);
> - fiber_join(reader);
> + fiber_cancel(reader_fiber);
> + fiber_join(reader_fiber);
>
> /* Destroy cpipe to tx. */
> cbus_unpair(&relay->tx_pipe, &relay->relay_pipe,
--
Serge Petrenko
More information about the Tarantool-patches
mailing list