mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Schwartzmeyer <and...@schwartzmeyer.com>
Subject Review Request 66424: Windows: Replaced `_wopen()` with `CreateFileW()` in `os::open()`.
Date Wed, 04 Apr 2018 05:47:39 GMT

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

Review request for mesos, Akash Gupta, Eric Mumau, John Kordich, Joseph Wu, and Michael Park.


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


Repository: mesos


Description
-------

Instead of using the CRT implementation of `_wopen()` for the
`os::open()` API, we now use the Windows API `CreateFileW()`, mapping
each of the Linux `open()` flags to their semantic equivalents. This
will make implementing overlapped I/O possible, and is a step toward
removing the use of integer file descriptors on Windows.

Note that instead of redefining the C flags like `O_RDONLY`, we just
use them directly in our mapping logic, and set the used but
unsupported flags to zero.

This change uncovered several bugs such as incorrect access flags, and
used-but-not-included headers.

We currently ignore creation permissions as they will be handled in a
broader project to map permissions to Windows correctly.


Diffs
-----

  3rdparty/stout/include/stout/net.hpp d2992c05b221ea90dae1c06d27753932f7411925 
  3rdparty/stout/include/stout/os/windows/fcntl.hpp bf8c38acad60f9b0eb752053dcd53a9fda7b8bfa

  3rdparty/stout/include/stout/os/windows/mktemp.hpp 5c775c45c415d9ddd6a80ab814fb55475e9f871e

  3rdparty/stout/include/stout/os/windows/open.hpp PRE-CREATION 
  3rdparty/stout/include/stout/windows.hpp 1bfcdf4a5c097cc6d2293396ce39c8ad2c9ec993 


Diff: https://reviews.apache.org/r/66424/diff/1/


Testing
-------


Thanks,

Andrew Schwartzmeyer


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