[PATCH v2 00/11] SWIM preparation

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Wed Dec 5 00:28:45 MSK 2018


SWIM is going to use evio to bind to an address, specified by a
user. Evio encapsulates bind/rebind, diagnostics, socket family.

But evio is C++ and SWIM is C. The patchset converts evio to C
alongside with sio, which is used in evio.

During conversion several not critical bugs were found and fixed
in separate commits.

Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-3234-swim-preparation
Issue: https://github.com/tarantool/tarantool/issues/3234

V1: https://www.freelists.org/post/tarantool-patches/PATCH-0011-SWIM-preparation

Changes in v2:
- Removed unnecessary refactoring to save git history;
- Changed a way how to say that a sio error is critical;
- Dropped a bugfix about negative size_t.

Vladislav Shpilevoy (11):
  sio: remove unused functions
  sio: treat EADDRINUSE in sio_listen as error
  sio: remove exceptions
  sio: make code compatible with C
  sio: turn into C
  evio: make on_accept be nothrow
  coio: fix double close of a file descriptor
  evio: remove exceptions
  coio: fix file descriptor leak on accept
  evio: make code C compatible
  evio: turn nto c

 src/CMakeLists.txt      |   4 +-
 src/box/iproto.cc       |  46 ++++----
 src/coio.cc             |  59 ++++++-----
 src/{evio.cc => evio.c} | 183 ++++++++++++++++----------------
 src/evio.h              |  41 +++++---
 src/{sio.cc => sio.c}   | 226 +++++++---------------------------------
 src/sio.h               |  66 ++----------
 7 files changed, 221 insertions(+), 404 deletions(-)
 rename src/{evio.cc => evio.c} (76%)
 rename src/{sio.cc => sio.c} (64%)

-- 
2.17.2 (Apple Git-113)




More information about the Tarantool-patches mailing list