mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Park <mp...@apache.org>
Subject Re: Review Request 54591: Introduced `WindowsFD` class which is analogous to an `int` in POSIX.
Date Mon, 06 Feb 2017 01:59:41 GMT


> On Feb. 5, 2017, 12:48 a.m., Alex Clemmer wrote:
> > 3rdparty/stout/include/stout/os/windows/fd.hpp, line 306
> > <https://reviews.apache.org/r/54591/diff/7/?file=1624392#file1624392line306>
> >
> >     I'm a bit confused about the conversion logic here... if `left` is a CRT type,
can't we just `static_cast<HANDLE>(left)` and compare that to the right? What am I missing?
> >     
> >     Also just so I'm clear: your comment above is saying that the check of `<
0` is just because `left` is signed, while `right` is unsigned, so they can't be equal in
this case? Is it appropriate to do a `static_assert` to make sure `HANDLE` is unsigned in
the future, too?

If `left` is `CRT` let's say constructed from `0`, then the `HANDLE` is set to the result
of `::_open_osfhandle(0)`.

At the same time, if `right` is an `INVALID_HANDLE_VALUE`, we don't want to compare the result
of `open_osfhandle(-1)` with `INVALID_HANDLE_VALUE`, we simply want to compare the CRT with
`-1`.

Does that make sense?


- Michael


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


On Feb. 5, 2017, 5:04 p.m., Michael Park wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54591/
> -----------------------------------------------------------
> 
> (Updated Feb. 5, 2017, 5:04 p.m.)
> 
> 
> Review request for mesos, Daniel Pravat and Joris Van Remoortere.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> In POSIX the socket, pipe and a file are represented by the `int` type.
> In Windows:
>   - A socket is kept in a `SOCKET` type (64 bit wide)
>   - A pipe or a WinAPI file descriptor in a `HANDLE` (64 bit wide)
>   - A CRT file descriptor in an `int`
> 
> The `WindowsFD` class is a type that brings all of these things
> together and behaves analogously to an `int` in POSIX.
> 
> 
> Diffs
> -----
> 
>   3rdparty/stout/include/Makefile.am 53d04a9b6c4a0d8b35d3c84ef24d619fdb8a2c82 
>   3rdparty/stout/include/stout/os.hpp ed6fec3ac1c1f9dfb0585178401f4b552822a0a1 
>   3rdparty/stout/include/stout/os/int_fd.hpp PRE-CREATION 
>   3rdparty/stout/include/stout/os/windows/fd.hpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/54591/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Michael Park
> 
>


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