From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp49.i.mail.ru (smtp49.i.mail.ru [94.100.177.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 2447F4696C3 for ; Fri, 10 Apr 2020 05:51:04 +0300 (MSK) From: Alexander Turenko Date: Fri, 10 Apr 2020 05:50:38 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 00/13] Popen Lua API: preliminary patches List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cyrill Gorcunov Cc: tarantool-patches@dev.tarantool.org https://github.com/tarantool/tarantool/issues/4031 https://github.com/tarantool/tarantool/tree/Totktonada/gh-4031-popen-lua-api-preparation I working on Lua API for popen. During the development I found that several changes are necessary for the underlying popen engine. This patch series accumulates them. Here are bugfixes, API and behaviour changes. Hope they are explained enough in the commit messages. Please, give more attention to the 'popen: decouple logger fd from stderr' patch: it is easy to make a mistake with those fds juggling and I have very sparse time to test it as it deserves (I made manual testing for the described cases however). Those changes can be partially tested via Lua API draft. It is on my temporary branch Totktonada/gh-4031-popen-12-workbranch (see also test/app-tap/popen.test.lua on the branch). Alexander Turenko (13): popen: require popen handle to be non-NULL popen: remove retval from popen_state() popen: add missed diag_set in popen_signal/delete popen: add logging of fds closed in a child say: allow to set a logger file descriptor popen: decouple logger fd from stderr popen: add const qualifier to popen_write_timeout popen: unblock popen_read_timeout at a first byte popen: remove redundant fd check before perform IO popen: add missed diag_set() in popen IO functions coio: fix obsoleted comment in coio_write_timeout coio: add *_noxc read / write functions popen: use of exception safe functions for IO src/lib/core/coio.cc | 43 +++++- src/lib/core/coio.h | 41 ++++++ src/lib/core/popen.c | 320 ++++++++++++++++++++++++++++++----------- src/lib/core/popen.h | 4 +- src/lib/core/say.c | 6 + src/lib/core/say.h | 7 +- test/unit/popen.c | 8 +- test/unit/popen.result | 13 +- 8 files changed, 343 insertions(+), 99 deletions(-) -- 2.25.0