You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Joseph Wu <jo...@mesosphere.io> on 2015/07/25 02:24:24 UTC
Re: Review Request 36625: Windows: Split up platform specific
functions into separate headers.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36625/
-----------------------------------------------------------
(Updated July 24, 2015, 5:24 p.m.)
Review request for mesos, Benjamin Hindman, Artem Harutyunyan, Alex Clemmer, and Joris Van Remoortere.
Changes
-------
Split up thread.hpp
Summary (updated)
-----------------
Windows: Split up platform specific functions into separate headers.
Bugs: MESOS-3101
https://issues.apache.org/jira/browse/MESOS-3101
Repository: mesos
Description (updated)
-------
To support the upcoming Windows Containerizer (MESOS-3094), we're splitting up (refactoring) platform specific functions into separate files.
We will avoid having `#ifdef __WINDOWS__` all over the stout/libprcess code by separating Linux/Windows versions.
This first patch is to establish a pattern in splitting up the headers.
Patterns:
* abort.hpp, format.hpp, gzip.hpp, thread.hpp - Functions are moved to a Linux folder; copied to a Windows folder and gutted for later implementation.
* duration.hpp - An #ifdef for one of the headers (time.h vs Winsock2.h). No need to split the header.
* exit.hpp, unreachable.hpp - Even though the implementations only differ by a single (compilation) macro, the methods are still copy-pasted into different files.
* ip.hpp - Needed to split the class IP into ip/ip.hpp so that the include order is ip/ip.hpp, ip.hpp (for common functions), then [linux|windows]/ip.hpp.
* net.hpp - Multiple #ifdef's needed in the top-level file. Linux file needed forward declarations of some functions.
Other:
* Instances of #include "local file.hpp" were changed to #include <stout/local file.hpp>" to match os.hpp.
* Some missing #endif comments (i.e. `// __APPLE__`) were added.
Diffs (updated)
-----
3rdparty/libprocess/3rdparty/stout/include/Makefile.am 5c19e3ef8ba50ab007eda26b752441f076ca7ed0
3rdparty/libprocess/3rdparty/stout/include/stout/abort.hpp 3aa9487bed2df038ca27a8bb94c24608ca7910a4
3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp bba8303347aac3f70566a9e69625a928cfb1bd24
3rdparty/libprocess/3rdparty/stout/include/stout/exit.hpp 8c16a224433d7a43bf6bf17e1129e6eb9bbbd573
3rdparty/libprocess/3rdparty/stout/include/stout/format.hpp 4e8c3bd1e9abf0ff24f78c8385ed9625719dcf8c
3rdparty/libprocess/3rdparty/stout/include/stout/gzip.hpp 0b95819205af6caae05c01cb4d0b25620abe791c
3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp a0ea23797376288e8dc96886fd3c0702e5edf846
3rdparty/libprocess/3rdparty/stout/include/stout/ip/ip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/abort.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/exit.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/format.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/gzip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/ip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/net.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/thread.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/linux/unreachable.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/net.hpp a538fb1a343aab039aecabe508b7747e683fd46e
3rdparty/libprocess/3rdparty/stout/include/stout/thread.hpp 552d6e97c882a36d6a889af205c422e51f544b34
3rdparty/libprocess/3rdparty/stout/include/stout/unreachable.hpp fed0a7ba81c98be83a0d66c2317e768877f8e40d
3rdparty/libprocess/3rdparty/stout/include/stout/windows/abort.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/exit.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/format.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/gzip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/ip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/net.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/thread.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/unreachable.hpp PRE-CREATION
Diff: https://reviews.apache.org/r/36625/diff/
Testing (updated)
-------
`make` and `make check` (Mac OSX)
Thanks,
Joseph Wu
Re: Review Request 36625: Windows: Split up platform specific
functions into separate headers.
Posted by Joseph Wu <jo...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36625/
-----------------------------------------------------------
(Updated July 24, 2015, 6:11 p.m.)
Review request for mesos, Benjamin Hindman, Artem Harutyunyan, Alex Clemmer, and Joris Van Remoortere.
Changes
-------
Rename "linux" folder to "posix".
Bugs: MESOS-3101
https://issues.apache.org/jira/browse/MESOS-3101
Repository: mesos
Description
-------
To support the upcoming Windows Containerizer (MESOS-3094), we're splitting up (refactoring) platform specific functions into separate files.
We will avoid having `#ifdef __WINDOWS__` all over the stout/libprcess code by separating Linux/Windows versions.
This first patch is to establish a pattern in splitting up the headers.
Patterns:
* abort.hpp, format.hpp, gzip.hpp, thread.hpp - Functions are moved to a Linux folder; copied to a Windows folder and gutted for later implementation.
* duration.hpp - An #ifdef for one of the headers (time.h vs Winsock2.h). No need to split the header.
* exit.hpp, unreachable.hpp - Even though the implementations only differ by a single (compilation) macro, the methods are still copy-pasted into different files.
* ip.hpp - Needed to split the class IP into ip/ip.hpp so that the include order is ip/ip.hpp, ip.hpp (for common functions), then [linux|windows]/ip.hpp.
* net.hpp - Multiple #ifdef's needed in the top-level file. Linux file needed forward declarations of some functions.
Other:
* Instances of #include "local file.hpp" were changed to #include <stout/local file.hpp>" to match os.hpp.
* Some missing #endif comments (i.e. `// __APPLE__`) were added.
Diffs (updated)
-----
3rdparty/libprocess/3rdparty/stout/include/Makefile.am 5c19e3ef8ba50ab007eda26b752441f076ca7ed0
3rdparty/libprocess/3rdparty/stout/include/stout/abort.hpp 3aa9487bed2df038ca27a8bb94c24608ca7910a4
3rdparty/libprocess/3rdparty/stout/include/stout/duration.hpp bba8303347aac3f70566a9e69625a928cfb1bd24
3rdparty/libprocess/3rdparty/stout/include/stout/exit.hpp 8c16a224433d7a43bf6bf17e1129e6eb9bbbd573
3rdparty/libprocess/3rdparty/stout/include/stout/format.hpp 4e8c3bd1e9abf0ff24f78c8385ed9625719dcf8c
3rdparty/libprocess/3rdparty/stout/include/stout/gzip.hpp 0b95819205af6caae05c01cb4d0b25620abe791c
3rdparty/libprocess/3rdparty/stout/include/stout/ip.hpp a0ea23797376288e8dc96886fd3c0702e5edf846
3rdparty/libprocess/3rdparty/stout/include/stout/ip/ip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/net.hpp a538fb1a343aab039aecabe508b7747e683fd46e
3rdparty/libprocess/3rdparty/stout/include/stout/posix/abort.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/exit.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/format.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/gzip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/ip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/net.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/thread.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/posix/unreachable.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/thread.hpp 552d6e97c882a36d6a889af205c422e51f544b34
3rdparty/libprocess/3rdparty/stout/include/stout/unreachable.hpp fed0a7ba81c98be83a0d66c2317e768877f8e40d
3rdparty/libprocess/3rdparty/stout/include/stout/windows/abort.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/exit.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/format.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/gzip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/ip.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/net.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/thread.hpp PRE-CREATION
3rdparty/libprocess/3rdparty/stout/include/stout/windows/unreachable.hpp PRE-CREATION
Diff: https://reviews.apache.org/r/36625/diff/
Testing
-------
`make` and `make check` (Mac OSX)
Thanks,
Joseph Wu