Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH 00/13] Popen Lua API: preliminary patches
Date: Fri, 10 Apr 2020 05:50:38 +0300	[thread overview]
Message-ID: <cover.1586486219.git.alexander.turenko@tarantool.org> (raw)

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

             reply	other threads:[~2020-04-10  2:51 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-10  2:50 Alexander Turenko [this message]
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 01/13] popen: require popen handle to be non-NULL Alexander Turenko
2020-04-10  7:16   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 02/13] popen: remove retval from popen_state() Alexander Turenko
2020-04-10  7:17   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 03/13] popen: add missed diag_set in popen_signal/delete Alexander Turenko
2020-04-10  7:23   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 04/13] popen: add logging of fds closed in a child Alexander Turenko
2020-04-10  7:46   ` Cyrill Gorcunov
2020-04-10 12:19     ` Alexander Turenko
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 05/13] say: allow to set a logger file descriptor Alexander Turenko
2020-04-10  8:33   ` Cyrill Gorcunov
2020-04-10 12:19     ` Alexander Turenko
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 06/13] popen: decouple logger fd from stderr Alexander Turenko
2020-04-10  9:18   ` Cyrill Gorcunov
2020-04-10 12:20     ` Alexander Turenko
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 07/13] popen: add const qualifier to popen_write_timeout Alexander Turenko
2020-04-10  8:04   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 08/13] popen: unblock popen_read_timeout at a first byte Alexander Turenko
2020-04-10  8:10   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 09/13] popen: remove redundant fd check before perform IO Alexander Turenko
2020-04-10  8:18   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 10/13] popen: add missed diag_set() in popen IO functions Alexander Turenko
2020-04-10  8:28   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 11/13] coio: fix obsoleted comment in coio_write_timeout Alexander Turenko
2020-04-10  8:28   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 12/13] coio: add *_noxc read / write functions Alexander Turenko
2020-04-10  8:05   ` Konstantin Osipov
2020-04-10  8:17     ` Cyrill Gorcunov
2020-04-10 11:57     ` Alexander Turenko
2020-04-12 12:51     ` Alexander Turenko
2020-04-10  8:29   ` Cyrill Gorcunov
2020-04-10  2:50 ` [Tarantool-patches] [PATCH 13/13] popen: use of exception safe functions for IO Alexander Turenko
2020-04-10 11:50   ` Cyrill Gorcunov
2020-04-10 12:21     ` Alexander Turenko
2020-04-10 16:36 ` [Tarantool-patches] [PATCH 00/13] Popen Lua API: preliminary patches Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1586486219.git.alexander.turenko@tarantool.org \
    --to=alexander.turenko@tarantool.org \
    --cc=gorcunov@gmail.com \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH 00/13] Popen Lua API: preliminary patches' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox