diff --git a/src/lib/core/fiber.c b/src/lib/core/fiber.c index 29facb5fde9be11ef5c3dd7fba5522f15371571d..283a53d58480b9f881e96d15ffeaed81dc9b3072 100644 --- a/src/lib/core/fiber.c +++ b/src/lib/core/fiber.c @@ -974,9 +974,9 @@ fiber_new_ex(const char *name, const struct fiber_attr *fiber_attr, } fiber->f = f; - /* fids from 0 to 100 are reserved */ - if (++cord->max_fid < 100) - cord->max_fid = 101; + /* Excluding reserved range */ + if (++cord->max_fid < FIBER_ID_MAX_RESERVED) + cord->max_fid = FIBER_ID_MAX_RESERVED + 1; fiber->fid = cord->max_fid; fiber_set_name(fiber, name); register_fid(fiber); @@ -1055,14 +1055,14 @@ cord_create(struct cord *cord, const char *name) cord->fiber_registry = mh_i32ptr_new(); /* sched fiber is not present in alive/ready/dead list. */ - cord->sched.fid = 1; + cord->sched.fid = FIBER_ID_SCHED; fiber_reset(&cord->sched); diag_create(&cord->sched.diag); region_create(&cord->sched.gc, &cord->slabc); fiber_set_name(&cord->sched, "sched"); cord->fiber = &cord->sched; - cord->max_fid = 100; + cord->max_fid = FIBER_ID_MAX_RESERVED; /* * No need to start this event since it's only used for * ev_feed_event(). Saves a few cycles on every diff --git a/src/lib/core/fiber.h b/src/lib/core/fiber.h index 6cc51bda3868057d97b9777a9966ceb2c97aafcb..fb168e25e2ba56576b46ce5bb0ef3829f9d3c36f 100644 --- a/src/lib/core/fiber.h +++ b/src/lib/core/fiber.h @@ -52,6 +52,14 @@ extern "C" { enum { FIBER_NAME_MAX = 32 }; +/** + * Fiber ids [0; 100] are reserved. + */ +enum { + FIBER_ID_SCHED = 1, + FIBER_ID_MAX_RESERVED = 100 +}; + enum { /** * It's safe to resume (wakeup) this fiber @@ -445,7 +453,7 @@ struct cord { struct fiber *fiber; struct ev_loop *loop; /** - * Every new fiber gets a new monotonic id. Ids 1-100 are + * Every new fiber gets a new monotonic id. Ids 0 - 100 are * reserved. */ uint32_t max_fid; diff --git a/src/lib/core/say.c b/src/lib/core/say.c index 68aa92f61146faf5dbe0b79adf60b36da6986a5f..3b13b766a14b8561a086eb8a41bc80470f627bee 100644 --- a/src/lib/core/say.c +++ b/src/lib/core/say.c @@ -750,7 +750,7 @@ say_format_plain_tail(char *buf, int len, int level, const char *filename, struct cord *cord = cord(); if (cord) { SNPRINT(total, snprintf, buf, len, " %s", cord->name); - if (fiber() && fiber()->fid != 1) { + if (fiber() && fiber()->fid != FIBER_ID_SCHED) { SNPRINT(total, snprintf, buf, len, "/%i/%s", fiber()->fid, fiber_name(fiber())); } @@ -875,7 +875,7 @@ say_format_json(struct log *log, char *buf, int len, int level, const char *file SNPRINT(total, snprintf, buf, len, ", \"cord_name\": \""); SNPRINT(total, json_escape, buf, len, cord->name); SNPRINT(total, snprintf, buf, len, "\""); - if (fiber() && fiber()->fid != 1) { + if (fiber() && fiber()->fid != FIBER_ID_SCHED) { SNPRINT(total, snprintf, buf, len, ", \"fiber_id\": %i, ", fiber()->fid); SNPRINT(total, snprintf, buf, len,