From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id E51362CFF2 for ; Mon, 26 Nov 2018 09:25:29 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lCRCqj5fIgCu for ; Mon, 26 Nov 2018 09:25:29 -0500 (EST) Received: from smtp44.i.mail.ru (smtp44.i.mail.ru [94.100.177.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 3B4612B1A4 for ; Mon, 26 Nov 2018 09:25:29 -0500 (EST) From: Serge Petrenko Subject: [tarantool-patches] [PATCH v2 0/3] box: implement on_shutdown triggers Date: Mon, 26 Nov 2018 17:25:03 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: kostja@tarantool.org, tarantool-patches@freelists.org Cc: Serge Petrenko This patchset adds on_shutdown triggers which can be registered from lua via box.ctl.on_shutdown() and are run on tarantool shutdown. Issue: https://github.com/tarantool/tarantool/issues/1607 Branch: https://github.com/tarantool/tarantool/tree/sp/gh-1607-on-exit-triggers Changes in v2: - added 3rd patch which passes signals to triggers. - run on_shutdown triggers even if box is not configured. - add a documentation request to the 3rd patch. First patch was originally made by Kostja and implemented on_shutdown triggers. I had to alter it a bit so that on shutdown box_free() is called after coio_shutdown(). Otherwise tarantool hung on shutdown occasionally. I also factored out trigger_run() into a separate function box_run_on_shutdown_triggers(), so that on_shutdown triggers are still run before anything else is freed or shut down. Second patch expands box.ctl interface by introducing box.ctl.on_shutdown() function to register on_shutdown triggers from lua. Third patch adds the ability to pass signal which caused termination to the on_shutdown trigger. Konstantin Osipov (1): box: implement on_shutdown triggers Serge Petrenko (2): box: introduce on_shutdown triggers to lua box: pass signal to on_shutdown triggers src/box/box.cc | 8 ++++++++ src/box/box.h | 12 ++++++++++++ src/box/lua/ctl.c | 23 ++++++++++++++++++++++ src/main.cc | 10 +++++++++- test/box/misc.result | 44 ++++++++++++++++++++++++++++++++++++++++++ test/box/misc.test.lua | 17 ++++++++++++++++ 6 files changed, 113 insertions(+), 1 deletion(-) -- 2.17.2 (Apple Git-113)