You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/06/28 18:45:04 UTC
[11/50] mesos-site git commit: Updated the website built from mesos
SHA: 7c9c72d.
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/09fd0301/content/api/latest/c++/src_2windows_2subprocess_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2windows_2subprocess_8hpp.html b/content/api/latest/c++/src_2windows_2subprocess_8hpp.html
new file mode 100644
index 0000000..2b24fa4
--- /dev/null
+++ b/content/api/latest/c++/src_2windows_2subprocess_8hpp.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Apache Mesos: 3rdparty/libprocess/src/windows/subprocess.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">Apache Mesos
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_043a76de98701f9bddf61b5e98f305ff.html">libprocess</a></li><li class="navelem"><a class="el" href="dir_01cbbd8dcbf9de3825992568658f467e.html">src</a></li><li class="navelem"><a class="el" href="dir_4f303781ded361ff602a549327c53cc9.html">windows</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> |
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">subprocess.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include <signal.h></code><br />
+<code>#include <array></code><br />
+<code>#include <string></code><br />
+<code>#include <glog/logging.h></code><br />
+<code>#include <<a class="el" href="include_2process_2subprocess_8hpp_source.html">process/subprocess.hpp</a>></code><br />
+<code>#include <<a class="el" href="error_8hpp_source.html">stout/error.hpp</a>></code><br />
+<code>#include <<a class="el" href="foreach_8hpp_source.html">stout/foreach.hpp</a>></code><br />
+<code>#include <<a class="el" href="hashset_8hpp_source.html">stout/hashset.hpp</a>></code><br />
+<code>#include <<a class="el" href="option_8hpp_source.html">stout/option.hpp</a>></code><br />
+<code>#include <<a class="el" href="os_8hpp_source.html">stout/os.hpp</a>></code><br />
+<code>#include <<a class="el" href="shell_8hpp_source.html">stout/os/shell.hpp</a>></code><br />
+<code>#include <<a class="el" href="try_8hpp_source.html">stout/try.hpp</a>></code><br />
+<code>#include <<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp_source.html">stout/windows.hpp</a>></code><br />
+<code>#include <<a class="el" href="close_8hpp_source.html">stout/os/close.hpp</a>></code><br />
+<code>#include <<a class="el" href="3rdparty_2stout_2include_2stout_2os_2environment_8hpp_source.html">stout/os/environment.hpp</a>></code><br />
+<code>#include <userEnv.h></code><br />
+</div>
+<p><a href="src_2windows_2subprocess_8hpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceprocess"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html">process</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespaceprocess_1_1internal"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess_1_1internal.html">process::internal</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a32020f2bbbcc116f2e055e209b4b8ce7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTry.html">Try</a><::<a class="el" href="structinternal_1_1windows_1_1ProcessData.html">internal::windows::ProcessData</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess_1_1internal.html#a32020f2bbbcc116f2e055e209b4b8ce7">process::internal::createChildProcess</a> (const std::string &path, const std::vector< std::string > &argv, const <a class="el" href="classOption.html">Option</a>< std::map< std::string, std::string >> &environment, const std::vector< Subprocess::ParentHook > &parent_hooks, const InputFileDescriptors &stdinfds, const OutputFileDescriptors &stdoutfds, const OutputFileDescriptors &stderrfds, const std::vector< <a class="el" href="int__fd_8hpp.html#aea4dbda01c90455f158ffa9b924c2f07">int_fd</a> > &whitelist_fds={})</td></tr>
+<tr class="separator:a32020f2bbbcc116f2e055e209b4b8ce7"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/09fd0301/content/api/latest/c++/src_2windows_2subprocess_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/src_2windows_2subprocess_8hpp_source.html b/content/api/latest/c++/src_2windows_2subprocess_8hpp_source.html
new file mode 100644
index 0000000..b1702a1
--- /dev/null
+++ b/content/api/latest/c++/src_2windows_2subprocess_8hpp_source.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Apache Mesos: 3rdparty/libprocess/src/windows/subprocess.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">Apache Mesos
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>File Members</span></a></li>
+ </ul>
+ </div>
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_043a76de98701f9bddf61b5e98f305ff.html">libprocess</a></li><li class="navelem"><a class="el" href="dir_01cbbd8dcbf9de3825992568658f467e.html">src</a></li><li class="navelem"><a class="el" href="dir_4f303781ded361ff602a549327c53cc9.html">windows</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">subprocess.hpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="src_2windows_2subprocess_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span clas
s="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </
div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifndef __PROCESS_WINDOWS_SUBPROCESS_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define __PROCESS_WINDOWS_SUBPROCESS_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <signal.h></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <array></span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </d
iv><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <glog/logging.h></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <<a class="code" href="include_2process_2subprocess_8hpp.html">process/subprocess.hpp</a>></span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <<a class="code" href="error_8hpp.html">stout/error.hpp</a>></span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <<a class="code" href="foreach_8hpp.html">stout/foreach.hpp</a>></span></div><div class="line"><a name="l00027"></a><span class="lineno"> 2
7</span> <span class="preprocessor">#include <<a class="code" href="hashset_8hpp.html">stout/hashset.hpp</a>></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <<a class="code" href="option_8hpp.html">stout/option.hpp</a>></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="os_8hpp.html">stout/os.hpp</a>></span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="code" href="shell_8hpp.html">stout/os/shell.hpp</a>></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <<a class="code" href="try_8hpp.html">stout/try.hpp</a>></span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="prepro
cessor">#include <<a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">stout/windows.hpp</a>></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <<a class="code" href="close_8hpp.html">stout/os/close.hpp</a>></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <<a class="code" href="3rdparty_2stout_2include_2stout_2os_2environment_8hpp.html">stout/os/environment.hpp</a>></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <userEnv.h></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="
l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// NOTE: We are expecting that components of `argv` that need to be quoted</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// (for example, paths with spaces in them like `C:\"Program Files"\foo.exe`)</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// to have been already quoted correctly before we generate `command`.</span></div><div c
lass="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// Incorrectly-quoted command arguments will probably lead the child process</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// to terminate with an error. See also NOTE on `process::subprocess`.</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1internal.html#a32020f2bbbcc116f2e055e209b4b8ce7"> 47</a></span> <span class="keyword">inline</span> <a class="code" href="classTry.html">Try<::internal::windows::ProcessData></a> <a class="code" href="namespaceprocess_1_1internal.html#a32020f2bbbcc116f2e055e209b4b8ce7">createChildProcess</a>(</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">const</span> std::string& <a class="code" href="namespacepath.html">path</a>,</div><div class="line"><a name=
"l00049"></a><span class="lineno"> 49</span>  <span class="keyword">const</span> std::vector<std::string>& argv,</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a><std::map<std::string, std::string>>& <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">const</span> std::vector<Subprocess::ParentHook>& parent_hooks,</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html">InputFileDescriptors</a>& stdinfds,</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span
class="keyword">const</span> <a class="code" href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html">OutputFileDescriptors</a>& stdoutfds,</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">const</span> <a class="code" href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html">OutputFileDescriptors</a>& stderrfds,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> std::vector<int_fd>& whitelist_fds = {})</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">const</span> std::array<int_fd, 3> fds{</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  stdinfds.<a class="code" href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.
html#a0a3f315345ef7b7ee6f3f1d4d337854d">read</a>, stdoutfds.<a class="code" href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html#a5dabb8e3008efd61ce42478f260b54ac">write</a>, stderrfds.<a class="code" href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html#a5dabb8e3008efd61ce42478f260b54ac">write</a>};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classTry.html">Try<::internal::windows::ProcessData></a> process_data =</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceinternal_1_1windows.html#a039d5edd816cadff59dd60549c70aa41">::internal::windows::create_process</a>(</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  path,</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>
  argv,</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">environment</a>,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">true</span>, <span class="comment">// Create suspended.</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  fds,</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  whitelist_fds);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="comment">// Close the child-ends of the file descriptors that are created</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// by this function.</
span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="int__fd_8hpp.html#aea4dbda01c90455f158ffa9b924c2f07">int_fd</a>& fd, fds) {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (fd.is_valid()) {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classTry.html">Try<Nothing></a> result = <a class="code" href="namespaceos.html#a8df77ec6d6b8d32d9b287a41bc74cfdc">os::close</a>(fd);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">if</span> (result.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflo
w">return</span> <a class="code" href="classError.html">Error</a>(result.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">if</span> (process_data.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(process_data.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error
</a>());</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="comment">// Run the parent hooks.</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <a class="code" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a> pid = process_data-><a class="code" href="structinternal_1_1windows_1_1ProcessData.html#a65a4a4aba5450087363bfffdb30eea25">pid</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">foreach</span> (<span class="keyword">const</span> <a class="code" href="structprocess_1_1Subprocess_1_1ParentHook.html">Subprocess::ParentHook</a>& hook, parent_hooks) {</div><div class="li
ne"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="classTry.html">Try<Nothing></a> parent_setup = hook.<a class="code" href="structprocess_1_1Subprocess_1_1ParentHook.html#aaf9ff141314d619cd65cd8ec9320fb7d">parent_setup</a>(pid);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="comment">// If the hook callback fails, we shouldn't proceed with the</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// execution and hence the child process should be killed.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (parent_setup.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div><div class="line"><a name="l00092"></a><span class="
lineno"> 92</span>  <span class="comment">// Attempt to kill the process. Since it is still in suspended state, we</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// do not need to kill any descendents. We also can't use `os::kill_job`</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// because this process is not in a Job Object unless one of the parent</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// hooks added it.</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  ::TerminateProcess(process_data-><a class="code" href="structinternal_1_1windows_1_1ProcessData.html#a96c76121644bd430e9ca67cf57636c0d">process_handle</a>.<a class="code" href="classSharedHandle.html#a800385e17e17cb826147968e748fd8fa">get_handle</a>
(), 1);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="stringliteral">"Failed to execute Parent Hook in child '"</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(pid) +</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="stringliteral">"' with command '"</span> + <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(argv) + <span class="stringliteral">"': "</span> +</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  parent_setup.<a class="code" hr
ef="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">// Start child process.</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">if</span> (::ResumeThread(process_data-><a class="code" href="structinternal_1_1windows_1_1ProcessData.html#a7160cf48fc6e70d9390233b246b93bee">thread_handle</a>.<a class="code" href="classSharedHandle.html#a800385e17e17cb826147968e748fd8fa">get_handle</a>()) == -1) {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> <a class="code" href="c
lassWindowsError.html">WindowsError</a>(</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="stringliteral">"Failed to resume child process with command '"</span> +</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="namespacens.html#a28116b46e6543597a11733424cd1aa20">stringify</a>(argv) + <span class="stringliteral">"'"</span>);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> process_data;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><
span class="lineno"> 115</span> } <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> } <span class="comment">// namespace process {</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor">#endif // __PROCESS_WINDOWS_SUBPROCESS_HPP__</span></div><div class="ttc" id="namespacepath_html"><div class="ttname"><a href="namespacepath.html">path</a></div><div class="ttdef"><b>Definition:</b> path.hpp:26</div></div>
+<div class="ttc" id="classError_html"><div class="ttname"><a href="classError.html">Error</a></div><div class="ttdef"><b>Definition:</b> errorbase.hpp:36</div></div>
+<div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option</a></div><div class="ttdef"><b>Definition:</b> option.hpp:28</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_a039d5edd816cadff59dd60549c70aa41"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a039d5edd816cadff59dd60549c70aa41">internal::windows::create_process</a></div><div class="ttdeci">Try< ProcessData > create_process(const std::string &command, const std::vector< std::string > &argv, const Option< std::map< std::string, std::string >> &environment, const bool create_suspended=false, const Option< std::array< int_fd, 3 >> &pipes=None(), const std::vector< int_fd > &whitelist_fds={})</div><div class="ttdef"><b>Definition:</b> shell.hpp:240</div></div>
+<div class="ttc" id="classSharedHandle_html_a800385e17e17cb826147968e748fd8fa"><div class="ttname"><a href="classSharedHandle.html#a800385e17e17cb826147968e748fd8fa">SharedHandle::get_handle</a></div><div class="ttdeci">HANDLE get_handle() const </div><div class="ttdef"><b>Definition:</b> windows.hpp:90</div></div>
+<div class="ttc" id="classTry_html"><div class="ttname"><a href="classTry.html">Try</a></div><div class="ttdef"><b>Definition:</b> check.hpp:33</div></div>
+<div class="ttc" id="include_2process_2subprocess_8hpp_html"><div class="ttname"><a href="include_2process_2subprocess_8hpp.html">subprocess.hpp</a></div></div>
+<div class="ttc" id="os_8hpp_html"><div class="ttname"><a href="os_8hpp.html">os.hpp</a></div></div>
+<div class="ttc" id="classWindowsError_html"><div class="ttname"><a href="classWindowsError.html">WindowsError</a></div><div class="ttdef"><b>Definition:</b> error.hpp:108</div></div>
+<div class="ttc" id="3rdparty_2stout_2include_2stout_2os_2environment_8hpp_html"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2os_2environment_8hpp.html">environment.hpp</a></div></div>
+<div class="ttc" id="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors_html_a0a3f315345ef7b7ee6f3f1d4d337854d"><div class="ttname"><a href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html#a0a3f315345ef7b7ee6f3f1d4d337854d">process::Subprocess::IO::InputFileDescriptors::read</a></div><div class="ttdeci">int_fd read</div><div class="ttdef"><b>Definition:</b> subprocess.hpp:75</div></div>
+<div class="ttc" id="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors_html"><div class="ttname"><a href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html">process::Subprocess::IO::OutputFileDescriptors</a></div><div class="ttdoc">For output file descriptors a child writes to the write file descriptor and a parent may read from th...</div><div class="ttdef"><b>Definition:</b> subprocess.hpp:88</div></div>
+<div class="ttc" id="3rdparty_2stout_2include_2stout_2windows_8hpp_html"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">windows.hpp</a></div></div>
+<div class="ttc" id="namespaceprocess_1_1internal_html_a32020f2bbbcc116f2e055e209b4b8ce7"><div class="ttname"><a href="namespaceprocess_1_1internal.html#a32020f2bbbcc116f2e055e209b4b8ce7">process::internal::createChildProcess</a></div><div class="ttdeci">Try<::internal::windows::ProcessData > createChildProcess(const std::string &path, const std::vector< std::string > &argv, const Option< std::map< std::string, std::string >> &environment, const std::vector< Subprocess::ParentHook > &parent_hooks, const InputFileDescriptors &stdinfds, const OutputFileDescriptors &stdoutfds, const OutputFileDescriptors &stderrfds, const std::vector< int_fd > &whitelist_fds={})</div><div class="ttdef"><b>Definition:</b> subprocess.hpp:47</div></div>
+<div class="ttc" id="close_8hpp_html"><div class="ttname"><a href="close_8hpp.html">close.hpp</a></div></div>
+<div class="ttc" id="namespacemesos_1_1internal_1_1tests_html_a1396c5e3b0a179220de2792d74770ec2"><div class="ttname"><a href="namespacemesos_1_1internal_1_1tests.html#a1396c5e3b0a179220de2792d74770ec2">mesos::internal::tests::environment</a></div><div class="ttdeci">Environment * environment</div></div>
+<div class="ttc" id="3rdparty_2stout_2include_2stout_2windows_8hpp_html_ab03ced250ed239bc3b50b669493997f9"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a></div><div class="ttdeci">DWORD pid_t</div><div class="ttdef"><b>Definition:</b> windows.hpp:181</div></div>
+<div class="ttc" id="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors_html_a5dabb8e3008efd61ce42478f260b54ac"><div class="ttname"><a href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html#a5dabb8e3008efd61ce42478f260b54ac">process::Subprocess::IO::OutputFileDescriptors::write</a></div><div class="ttdeci">int_fd write</div><div class="ttdef"><b>Definition:</b> subprocess.hpp:91</div></div>
+<div class="ttc" id="namespaceos_html_a8df77ec6d6b8d32d9b287a41bc74cfdc"><div class="ttname"><a href="namespaceos.html#a8df77ec6d6b8d32d9b287a41bc74cfdc">os::close</a></div><div class="ttdeci">Try< Nothing > close(int fd)</div><div class="ttdef"><b>Definition:</b> close.hpp:24</div></div>
+<div class="ttc" id="structinternal_1_1windows_1_1ProcessData_html_a96c76121644bd430e9ca67cf57636c0d"><div class="ttname"><a href="structinternal_1_1windows_1_1ProcessData.html#a96c76121644bd430e9ca67cf57636c0d">internal::windows::ProcessData::process_handle</a></div><div class="ttdeci">SharedHandle process_handle</div><div class="ttdef"><b>Definition:</b> shell.hpp:214</div></div>
+<div class="ttc" id="structinternal_1_1windows_1_1ProcessData_html_a7160cf48fc6e70d9390233b246b93bee"><div class="ttname"><a href="structinternal_1_1windows_1_1ProcessData.html#a7160cf48fc6e70d9390233b246b93bee">internal::windows::ProcessData::thread_handle</a></div><div class="ttdeci">SharedHandle thread_handle</div><div class="ttdef"><b>Definition:</b> shell.hpp:215</div></div>
+<div class="ttc" id="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors_html"><div class="ttname"><a href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html">process::Subprocess::IO::InputFileDescriptors</a></div><div class="ttdoc">For input file descriptors a child reads from the read file descriptor and a parent may write to the ...</div><div class="ttdef"><b>Definition:</b> subprocess.hpp:73</div></div>
+<div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
+<div class="ttc" id="classTry_html_aec4a11ddd3c036e889d90b7eb6258ba7"><div class="ttname"><a href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">Try::error</a></div><div class="ttdeci">static Try error(const E &e)</div><div class="ttdef"><b>Definition:</b> try.hpp:42</div></div>
+<div class="ttc" id="structprocess_1_1Subprocess_1_1ParentHook_html_aaf9ff141314d619cd65cd8ec9320fb7d"><div class="ttname"><a href="structprocess_1_1Subprocess_1_1ParentHook.html#aaf9ff141314d619cd65cd8ec9320fb7d">process::Subprocess::ParentHook::parent_setup</a></div><div class="ttdeci">const lambda::function< Try< Nothing >pid_t)> parent_setup</div><div class="ttdoc">The callback that must be specified for execution after the child has been cloned, but before it starts executing the new process. </div><div class="ttdef"><b>Definition:</b> subprocess.hpp:163</div></div>
+<div class="ttc" id="foreach_8hpp_html"><div class="ttname"><a href="foreach_8hpp.html">foreach.hpp</a></div></div>
+<div class="ttc" id="error_8hpp_html"><div class="ttname"><a href="error_8hpp.html">error.hpp</a></div></div>
+<div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>
+<div class="ttc" id="classTry_html_a0b98f95163b8a38daafd1651b043a276"><div class="ttname"><a href="classTry.html#a0b98f95163b8a38daafd1651b043a276">Try::isError</a></div><div class="ttdeci">bool isError() const </div><div class="ttdef"><b>Definition:</b> try.hpp:71</div></div>
+<div class="ttc" id="namespaceprocess_html"><div class="ttname"><a href="namespaceprocess.html">process</a></div><div class="ttdef"><b>Definition:</b> executor.hpp:48</div></div>
+<div class="ttc" id="try_8hpp_html"><div class="ttname"><a href="try_8hpp.html">try.hpp</a></div></div>
+<div class="ttc" id="hashset_8hpp_html"><div class="ttname"><a href="hashset_8hpp.html">hashset.hpp</a></div></div>
+<div class="ttc" id="structinternal_1_1windows_1_1ProcessData_html_a65a4a4aba5450087363bfffdb30eea25"><div class="ttname"><a href="structinternal_1_1windows_1_1ProcessData.html#a65a4a4aba5450087363bfffdb30eea25">internal::windows::ProcessData::pid</a></div><div class="ttdeci">pid_t pid</div><div class="ttdef"><b>Definition:</b> shell.hpp:216</div></div>
+<div class="ttc" id="shell_8hpp_html"><div class="ttname"><a href="shell_8hpp.html">shell.hpp</a></div></div>
+<div class="ttc" id="structprocess_1_1Subprocess_1_1ParentHook_html"><div class="ttname"><a href="structprocess_1_1Subprocess_1_1ParentHook.html">process::Subprocess::ParentHook</a></div><div class="ttdoc">A hook can be passed to a subprocess call. </div><div class="ttdef"><b>Definition:</b> subprocess.hpp:152</div></div>
+<div class="ttc" id="int__fd_8hpp_html_aea4dbda01c90455f158ffa9b924c2f07"><div class="ttname"><a href="int__fd_8hpp.html#aea4dbda01c90455f158ffa9b924c2f07">int_fd</a></div><div class="ttdeci">int int_fd</div><div class="ttdef"><b>Definition:</b> int_fd.hpp:35</div></div>
+<div class="ttc" id="namespacens_html_a28116b46e6543597a11733424cd1aa20"><div class="ttname"><a href="namespacens.html#a28116b46e6543597a11733424cd1aa20">ns::stringify</a></div><div class="ttdeci">std::string stringify(int flags)</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/09fd0301/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html b/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html
index 29089ed..317a1fe 100644
--- a/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html
+++ b/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html
@@ -61,7 +61,7 @@
<p>For input file descriptors a child reads from the <code>read</code> file descriptor and a parent may write to the <code>write</code> file descriptor if one is present.
<a href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html#details">More...</a></p>
-<p><code>#include <<a class="el" href="subprocess_8hpp_source.html">subprocess.hpp</a>></code></p>
+<p><code>#include <<a class="el" href="include_2process_2subprocess_8hpp_source.html">subprocess.hpp</a>></code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
@@ -99,7 +99,7 @@ Public Attributes</h2></td></tr>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
-<li>3rdparty/libprocess/include/process/<a class="el" href="subprocess_8hpp_source.html">subprocess.hpp</a></li>
+<li>3rdparty/libprocess/include/process/<a class="el" href="include_2process_2subprocess_8hpp_source.html">subprocess.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/09fd0301/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html b/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html
index 0700824..1d92fd3 100644
--- a/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html
+++ b/content/api/latest/c++/structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html
@@ -61,7 +61,7 @@
<p>For output file descriptors a child writes to the <code>write</code> file descriptor and a parent may read from the <code>read</code> file descriptor if one is present.
<a href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html#details">More...</a></p>
-<p><code>#include <<a class="el" href="subprocess_8hpp_source.html">subprocess.hpp</a>></code></p>
+<p><code>#include <<a class="el" href="include_2process_2subprocess_8hpp_source.html">subprocess.hpp</a>></code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
@@ -99,7 +99,7 @@ Public Attributes</h2></td></tr>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
-<li>3rdparty/libprocess/include/process/<a class="el" href="subprocess_8hpp_source.html">subprocess.hpp</a></li>
+<li>3rdparty/libprocess/include/process/<a class="el" href="include_2process_2subprocess_8hpp_source.html">subprocess.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/09fd0301/content/api/latest/c++/structprocess_1_1Subprocess_1_1ParentHook.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/structprocess_1_1Subprocess_1_1ParentHook.html b/content/api/latest/c++/structprocess_1_1Subprocess_1_1ParentHook.html
index ad7b714..69ef4ad 100644
--- a/content/api/latest/c++/structprocess_1_1Subprocess_1_1ParentHook.html
+++ b/content/api/latest/c++/structprocess_1_1Subprocess_1_1ParentHook.html
@@ -63,7 +63,7 @@
<p>A hook can be passed to a <code>subprocess</code> call.
<a href="structprocess_1_1Subprocess_1_1ParentHook.html#details">More...</a></p>
-<p><code>#include <<a class="el" href="subprocess_8hpp_source.html">subprocess.hpp</a>></code></p>
+<p><code>#include <<a class="el" href="include_2process_2subprocess_8hpp_source.html">subprocess.hpp</a>></code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -139,7 +139,7 @@ Friends</h2></td></tr>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
-<li>3rdparty/libprocess/include/process/<a class="el" href="subprocess_8hpp_source.html">subprocess.hpp</a></li>
+<li>3rdparty/libprocess/include/process/<a class="el" href="include_2process_2subprocess_8hpp_source.html">subprocess.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
http://git-wip-us.apache.org/repos/asf/mesos-site/blob/09fd0301/content/api/latest/c++/subprocess_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/subprocess_8hpp.html b/content/api/latest/c++/subprocess_8hpp.html
deleted file mode 100644
index c5cec43..0000000
--- a/content/api/latest/c++/subprocess_8hpp.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.11"/>
-<title>Apache Mesos: 3rdparty/libprocess/include/process/subprocess.hpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">Apache Mesos
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.11 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li><a href="annotated.html"><span>Classes</span></a></li>
- <li class="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="files.html"><span>File List</span></a></li>
- <li><a href="globals.html"><span>File Members</span></a></li>
- </ul>
- </div>
-<div id="nav-path" class="navpath">
- <ul>
-<li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_043a76de98701f9bddf61b5e98f305ff.html">libprocess</a></li><li class="navelem"><a class="el" href="dir_eac18f7a64f6f8afbd1493ef4e09abdb.html">include</a></li><li class="navelem"><a class="el" href="dir_1894286df79cf582d947dbc4268b06cf.html">process</a></li> </ul>
-</div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#nested-classes">Classes</a> |
-<a href="#namespaces">Namespaces</a> |
-<a href="#typedef-members">Typedefs</a> |
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">subprocess.hpp File Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include <map></code><br />
-<code>#include <memory></code><br />
-<code>#include <string></code><br />
-<code>#include <vector></code><br />
-<code>#include <<a class="el" href="future_8hpp_source.html">process/future.hpp</a>></code><br />
-<code>#include <<a class="el" href="3rdparty_2stout_2include_2stout_2flags_8hpp_source.html">stout/flags.hpp</a>></code><br />
-<code>#include <<a class="el" href="lambda_8hpp_source.html">stout/lambda.hpp</a>></code><br />
-<code>#include <<a class="el" href="none_8hpp_source.html">stout/none.hpp</a>></code><br />
-<code>#include <<a class="el" href="option_8hpp_source.html">stout/option.hpp</a>></code><br />
-<code>#include <<a class="el" href="try_8hpp_source.html">stout/try.hpp</a>></code><br />
-<code>#include <<a class="el" href="shell_8hpp_source.html">stout/os/shell.hpp</a>></code><br />
-<code>#include <<a class="el" href="int__fd_8hpp_source.html">stout/os/int_fd.hpp</a>></code><br />
-</div>
-<p><a href="subprocess_8hpp_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1Subprocess.html">process::Subprocess</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a fork() exec()ed subprocess. <a href="classprocess_1_1Subprocess.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1Subprocess_1_1IO.html">process::Subprocess::IO</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describes how the I/O is redirected for stdin/stdout/stderr. <a href="classprocess_1_1Subprocess_1_1IO.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html">process::Subprocess::IO::InputFileDescriptors</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">For input file descriptors a child reads from the <code>read</code> file descriptor and a parent may write to the <code>write</code> file descriptor if one is present. <a href="structprocess_1_1Subprocess_1_1IO_1_1InputFileDescriptors.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html">process::Subprocess::IO::OutputFileDescriptors</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">For output file descriptors a child writes to the <code>write</code> file descriptor and a parent may read from the <code>read</code> file descriptor if one is present. <a href="structprocess_1_1Subprocess_1_1IO_1_1OutputFileDescriptors.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structprocess_1_1Subprocess_1_1ParentHook.html">process::Subprocess::ParentHook</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A hook can be passed to a <code>subprocess</code> call. <a href="structprocess_1_1Subprocess_1_1ParentHook.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classprocess_1_1Subprocess_1_1ChildHook.html">process::Subprocess::ChildHook</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A <code><a class="el" href="classprocess_1_1Subprocess_1_1ChildHook.html" title="A ChildHook can be passed to a subprocess call. ">ChildHook</a></code> can be passed to a <code>subprocess</code> call. <a href="classprocess_1_1Subprocess_1_1ChildHook.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
-Namespaces</h2></td></tr>
-<tr class="memitem:namespaceprocess"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html">process</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:afc6611c4913642642277b44447a16e55"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#afc6611c4913642642277b44447a16e55">process::InputFileDescriptors</a> = Subprocess::IO::InputFileDescriptors</td></tr>
-<tr class="separator:afc6611c4913642642277b44447a16e55"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a882829822afa4f33b90aafc9c4ffa9af"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a882829822afa4f33b90aafc9c4ffa9af">process::OutputFileDescriptors</a> = Subprocess::IO::OutputFileDescriptors</td></tr>
-<tr class="separator:a882829822afa4f33b90aafc9c4ffa9af"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a2d7e0a283bc0c9eca8a8b0532e026269"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTry.html">Try</a>< Subprocess > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a2d7e0a283bc0c9eca8a8b0532e026269">process::subprocess</a> (const std::string &path, std::vector< std::string > argv, const Subprocess::IO &in=Subprocess::FD(<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#afcf80a6d91178952d107ad00b165752b">STDIN_FILENO</a>), const Subprocess::IO &out=Subprocess::FD(<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#abd165ee6474b5b75bf075842fff13a04">STDOUT_FILENO</a>), const Subprocess::IO &err=Subprocess::FD(<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ae2fe1725bb5e9823d089c46b9ed5266e">STDERR_FILENO</a>), const <a class="el" href="classflags_1_1FlagsBase.html">flags::FlagsBase</a> *<a class="el" href=
"decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>=nullptr, const <a class="el" href="classOption.html">Option</a>< std::map< std::string, std::string >> &environment=<a class="el" href="structNone.html">None</a>(), const <a class="el" href="classOption.html">Option</a>< lambda::function< <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a>(const lambda::function< int()> &)>> &clone=<a class="el" href="structNone.html">None</a>(), const std::vector< Subprocess::ParentHook > &parent_hooks={}, const std::vector< Subprocess::ChildHook > &child_hooks={}, const std::vector< <a class="el" href="int__fd_8hpp.html#aea4dbda01c90455f158ffa9b924c2f07">int_fd</a> > &whitelist_fds={})</td></tr>
-<tr class="memdesc:a2d7e0a283bc0c9eca8a8b0532e026269"><td class="mdescLeft"> </td><td class="mdescRight">Forks a subprocess and execs the specified 'path' with the specified 'argv', redirecting stdin, stdout, and stderr as specified by 'in', 'out', and 'err' respectively. <a href="namespaceprocess.html#a2d7e0a283bc0c9eca8a8b0532e026269">More...</a><br /></td></tr>
-<tr class="separator:a2d7e0a283bc0c9eca8a8b0532e026269"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0a748c548ad3a094196c98f00f9674cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTry.html">Try</a>< Subprocess > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceprocess.html#a0a748c548ad3a094196c98f00f9674cf">process::subprocess</a> (const std::string &command, const Subprocess::IO &in=Subprocess::FD(<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#afcf80a6d91178952d107ad00b165752b">STDIN_FILENO</a>), const Subprocess::IO &out=Subprocess::FD(<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#abd165ee6474b5b75bf075842fff13a04">STDOUT_FILENO</a>), const Subprocess::IO &err=Subprocess::FD(<a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ae2fe1725bb5e9823d089c46b9ed5266e">STDERR_FILENO</a>), const <a class="el" href="classOption.html">Option</a>< std::map< std::string, std::string >> &environment=<a class="
el" href="structNone.html">None</a>(), const <a class="el" href="classOption.html">Option</a>< lambda::function< <a class="el" href="3rdparty_2stout_2include_2stout_2windows_8hpp.html#ab03ced250ed239bc3b50b669493997f9">pid_t</a>(const lambda::function< int()> &)>> &clone=<a class="el" href="structNone.html">None</a>(), const std::vector< Subprocess::ParentHook > &parent_hooks={}, const std::vector< Subprocess::ChildHook > &child_hooks={}, const std::vector< <a class="el" href="int__fd_8hpp.html#aea4dbda01c90455f158ffa9b924c2f07">int_fd</a> > &whitelist_fds={})</td></tr>
-<tr class="memdesc:a0a748c548ad3a094196c98f00f9674cf"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structOverload.html">Overload</a> of 'subprocess' for launching a shell command, i.e., 'sh -c command'. <a href="namespaceprocess.html#a0a748c548ad3a094196c98f00f9674cf">More...</a><br /></td></tr>
-<tr class="separator:a0a748c548ad3a094196c98f00f9674cf"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by  <a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.11
-</small></address>
-</body>
-</html>