----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66424/#review200579 -----------------------------------------------------------
Fix it, then Ship it! 3rdparty/stout/include/stout/os/windows/mktemp.hpp Line 54 (original), 54 (patched) <https://reviews.apache.org/r/66424/#comment281318> Huh that's a strange function. Seems like it can cause time check/use race conditions. We probably want to replace this with the native temp directory functions in the future. 3rdparty/stout/include/stout/os/windows/open.hpp Lines 33 (patched) <https://reviews.apache.org/r/66424/#comment281320> :) 3rdparty/stout/include/stout/os/windows/open.hpp Lines 37 (patched) <https://reviews.apache.org/r/66424/#comment281319> I *think* FILE_FLAG_WRITE_THROUGH == O_SYNC. 3rdparty/stout/include/stout/os/windows/open.hpp Lines 45 (patched) <https://reviews.apache.org/r/66424/#comment281351> I believe the default behavior(`SECURITY_ATTRIBUTES == NULL`) is to inherit from the parent directory / access token. We should ask around on what's the proper settings for security. 3rdparty/stout/include/stout/os/windows/open.hpp Lines 61 (patched) <https://reviews.apache.org/r/66424/#comment281344> It's up to you, but I find it clearer to have a switch statement on the bitfields like this: ``` switch(oflag & (O_RDONLY | O_WRONLY | O_RDWR)) { case O_RDONLY: case O_WRONLY: case O_RDWR: default: } ``` 3rdparty/stout/include/stout/os/windows/open.hpp Lines 73 (patched) <https://reviews.apache.org/r/66424/#comment281348> Same thing as above. I think it's more import on this one because there's techically 8 cases for `O_CREAT`, `O_EXCL`, `O_TRUNC`, but POSIX and Windows only have defined behavior for 5 of them, so you can explicitly mention the undefined behavior cases like this: ``` switch(oflag & (O_CREAT | O_EXCL | O_TRUNC)) { case O_CREAT | O_EXCL: case O_CREAT | O_EXCL | O_TRUNC : // Ignore O_TRUNC if we get O_CREAT | O_EXCL create = CREATE_NEW; break; case ...: } - Akash Gupta On April 4, 2018, 5:47 a.m., Andrew Schwartzmeyer wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/66424/ > ----------------------------------------------------------- > > (Updated April 4, 2018, 5:47 a.m.) > > > 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 > >