[Tarantool-patches] [PATCH v2 0/3] fio: close unused descriptors automatically
Nikita Pettik
korablev at tarantool.org
Thu Mar 26 04:08:45 MSK 2020
On 03 Mar 00:29, Vladislav Shpilevoy wrote:
> The patchset introduces a fiber worker singleton object and uses
> it for garbage collection of fio and SWIM objects. This is a
> workaround for inability to yield in ffi.gc hook, which is used by
> fio and SWIM.
>
> SWIM had GC before, but it was creating a new fiber for each GC.
> Fio didn't have GC.
LGMT (I looked at fresh version on your branch).
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-4727-fio-gc
> Issue: https://github.com/tarantool/tarantool/issues/4727
>
> @ChangeLog
> - fio descriptors are closed on garbage collection (gh-4727).
>
> Changes in V2:
> - Added a special single fiber for garbage collection of objects,
> which yield in their destructors.
>
> Vladislav Shpilevoy (3):
> fiber: introduce schedule_task() internal function
> fio: close unused descriptors automatically
> swim: use fiber._internal.schedule_task() for GC
>
> src/lua/fiber.c | 15 +++++
> src/lua/fiber.lua | 60 ++++++++++++++++++
> src/lua/fio.lua | 34 ++++++++--
> src/lua/swim.lua | 11 ++--
> test/app/fiber.result | 72 +++++++++++++++++++++
> test/app/fiber.test.lua | 41 ++++++++++++
> test/app/gh-4727-fio-gc.result | 104 +++++++++++++++++++++++++++++++
> test/app/gh-4727-fio-gc.test.lua | 60 ++++++++++++++++++
> 8 files changed, 385 insertions(+), 12 deletions(-)
> create mode 100644 test/app/gh-4727-fio-gc.result
> create mode 100644 test/app/gh-4727-fio-gc.test.lua
>
> --
> 2.21.1 (Apple Git-122.3)
>
More information about the Tarantool-patches
mailing list