mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Schwartzmeyer <and...@schwartzmeyer.com>
Subject Re: Review Request 65405: Implemented `net::socket()` for Windows using `WSASocket`.
Date Thu, 01 Feb 2018 23:30:12 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/65405/
-----------------------------------------------------------

(Updated Feb. 1, 2018, 3:30 p.m.)


Review request for mesos, Akash Gupta, Jie Yu, and Joseph Wu.


Bugs: MESOS-5882
    https://issues.apache.org/jira/browse/MESOS-5882


Repository: mesos


Description
-------

Rather than reusing the existing `net::socket()` wrapper for Windows,
the original wrapper was moved to `posix/socket.hpp`, and a new wrapper
was written in `windows/socket.hpp` which uses `::WSASocket()` instead
of `::socket()` and takes an optional set of Windows socket flags.

We enable `WSA_FLAG_OVERLAPPED` so that the socket supports overlapped
I/O operations (the default behavior of `::socket()`; MSDN states that
most sockets should be created with this flag set, so it is a reasonable
default.

Furthermore, we enable `WSA_FLAG_NO_HANDLE_INHERIT`, which provides the
semantics of close-on-exec. This is set by default because (a) it is not
possible to change afterwards, and (b) we never use inheritable sockets.
Therefore it reasonable to also disable inheritance.


Diffs (updated)
-----

  3rdparty/stout/include/stout/os/posix/socket.hpp bab0b808f53abd1314a7d13fc0cba75e5717f96f

  3rdparty/stout/include/stout/os/socket.hpp 2ca4465ca23c9ca59239947c9babf8dd0212fafd 
  3rdparty/stout/include/stout/os/windows/socket.hpp 020c5e2367217cd2b4439ae5e2d5be4b31b4226b



Diff: https://reviews.apache.org/r/65405/diff/2/

Changes: https://reviews.apache.org/r/65405/diff/1-2/


Testing
-------


Thanks,

Andrew Schwartzmeyer


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message