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 57926: Windows: Fix return of bad types in stat.hpp.
Date Fri, 24 Mar 2017 23:48:03 GMT

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

(Updated March 24, 2017, 11:48 p.m.)


Review request for mesos, John Kordich, James Peach, Joseph Wu, Li Li, and Michael Park.


Changes
-------

Return false for `isfile` since the check is explicitly the "is regular file" semantics.


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


Repository: mesos


Description (updated)
-------

Commit 5f159cdcb introduced `return Error(...)` logic to functions
which return `bool`, not `Try<bool>`, which broke the Windows build.

Furthermore, in the instances of `isdir` and `isfile`, erroring when
asked to not follow a symlink is not correct. The semantics of symlinks
provide clear answers to `isdir` and `isfile` when the target is a link,
and is not being followed (it is neither a regular file nor a directory).

We explicitly match the POSIX semantics for `isfile` where `S_IFREG`
returns `false` for symbolic links.

For the functions `mode` and `dev`, which return types wrapped by `Try`,
we should only error if asked not to follow symlinks, and the target is
actually a symlink. If it is not a symlink to begin with, we should not
prematurely error. If it is a symlink, we should error because there is
no equivalent of `lstat` on Windows to obtain `st_mode` or `st_dev` of a
symlink itself.


Diffs (updated)
-----

  3rdparty/stout/include/stout/os/windows/stat.hpp 8587341282ca2d596a2b6f23f84b84a00053c3d5



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

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


Testing
-------

Build on Windows and run stout-tests.exe


Thanks,

Andrew Schwartzmeyer


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