> On Dec. 10, 2015, 4:12 a.m., Joris Van Remoortere wrote: > > 3rdparty/libprocess/3rdparty/stout/include/stout/os/windows/rmdir.hpp, line > > 109 > > <https://reviews.apache.org/r/39584/diff/7/?file=1125983#file1125983line109> > > > > Can you explain / comment why here (as well as on L139) we use > > `ErrnoError`, yet elsewhere we use `WindowsError`? > > Alex Clemmer wrote: > `errno` captures errors that have happened in the C standard library, and > `ErrnoError` captures those errors and their messages and lifts them into an > `Error` type. > > For Windows API functions (which, of course, are not a part of the C > standard library) have their own `errno`-like error reporting mechanism, > called `GetLastError()`. `WindowsError` captures these errors and lifts them > into an `Error` type. > > Thus, when we call Windows API functions, we capture errors with > `WindowsError`, and when we call C standard library functions, we capture > errors with `ErrnoError`. > > Does that make sense?
As far as comments go, this is commented in the `WindowsError` code itself. It seems impractical to add this comment at every call site, but maybe you meant something else? - Alex ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/39584/#review109681 ----------------------------------------------------------- On Jan. 4, 2016, 12:02 p.m., Alex Clemmer wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/39584/ > ----------------------------------------------------------- > > (Updated Jan. 4, 2016, 12:02 p.m.) > > > Review request for mesos, Artem Harutyunyan, Joris Van Remoortere, and Joseph > Wu. > > > Repository: mesos > > > Description > ------- > > Windows: Implemented `os::rmdir.hpp`. > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/include/Makefile.am > b2dea9b93adfa3ea0415a0b5c81a369dd29b6cfe > 3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp > 14fbca6d222bdfc0e8be301050b4ea1a8a6e7758 > 3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/rmdir.hpp > PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/include/stout/os/rmdir.hpp PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/include/stout/os/windows/rmdir.hpp > PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/include/stout/posix/os.hpp > 4cf693fb7e8c6bb3ad1920ebe90d61f0adb5dc99 > 3rdparty/libprocess/3rdparty/stout/include/stout/windows/os.hpp > e738cdbf5846950c475c159fb9a770acc45159f5 > > Diff: https://reviews.apache.org/r/39584/diff/ > > > Testing > ------- > > `make check` from autotools on Ubuntu 15. > `make check` from CMake on OS X 10.10. > Ran `check` project in VS on Windows 10. > > > Thanks, > > Alex Clemmer > >
