[Tarantool-patches] [PATCH 00/13] Popen Lua API: preliminary patches

Alexander Turenko alexander.turenko at tarantool.org
Fri Apr 10 05:50:38 MSK 2020


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



More information about the Tarantool-patches mailing list