mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Schwartzmeyer <>
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:

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

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


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

Bugs: 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




Build on Windows and run stout-tests.exe


Andrew Schwartzmeyer

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