Imported Upstream version 1.72.0
[platform/upstream/boost.git] / doc / html / boost / process / extend / posix_executor.html
index 8e6dd2b..db1ad49 100644 (file)
 </span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Sequence<span class="special">&gt;</span> 
 <span class="keyword">struct</span> <a class="link" href="posix_executor.html" title="Struct template posix_executor">posix_executor</a> <span class="special">{</span>
 
-  <span class="comment">// <a class="link" href="posix_executor.html#idm45477675226336-bb">public member functions</a></span>
-  <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <a class="link" href="posix_executor.html#idm45477675225776-bb"><span class="identifier">error</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-  <span class="keyword">void</span> <a class="link" href="posix_executor.html#idm45477675224304-bb"><span class="identifier">set_error</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
-  <span class="keyword">void</span> <a class="link" href="posix_executor.html#idm45477675220736-bb"><span class="identifier">set_error</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+  <span class="comment">// <a class="link" href="posix_executor.html#idm45170604831472-bb">public member functions</a></span>
+  <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <a class="link" href="posix_executor.html#idm45170604830912-bb"><span class="identifier">error</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+  <span class="keyword">void</span> <a class="link" href="posix_executor.html#idm45170604829440-bb"><span class="identifier">set_error</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">void</span> <a class="link" href="posix_executor.html#idm45170604825872-bb"><span class="identifier">set_error</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
 
   <span class="comment">// public data members</span>
   <span class="identifier">Sequence</span> <span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">;</span>  <span class="comment">// A reference to the actual initializer-sequence. </span>
@@ -65,35 +65,35 @@ As information for extension development, here is the structure of the process l
 </p>
 <pre class="programlisting">
 <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-    <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675301936-bb">on_setup</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
+    <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604907072-bb">on_setup</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
 
-<span class="keyword">if</span> <span class="special">(</span><a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span>
+<span class="keyword">if</span> <span class="special">(</span><a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-       <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675297952-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
+       <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604903088-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">return</span> <a class="link" href="../child.html" title="Class child">child</a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
 <span class="special">}</span>
 
 <span class="identifier">pid</span> <span class="special">=</span> <a href="http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html" target="_top"><span class="identifier">fork</span><span class="special">(</span><span class="special">)</span></a>
-<a class="link" href="handler.html#idm45477675301936-bb">on_setup</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
+<a class="link" href="handler.html#idm45170604907072-bb">on_setup</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
 
 <span class="keyword">if</span> <span class="special">(</span><span class="identifier">pid</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="comment">//fork error </span>
 <span class="special">{</span>
-    <a class="link" href="posix_executor.html#idm45477675224304-bb">set_error</a><span class="special">(</span><a class="link" href="../../../process/reference.html#boost.process.extend.get_last_error">get_last_error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
+    <a class="link" href="posix_executor.html#idm45170604829440-bb">set_error</a><span class="special">(</span><a class="link" href="../../../process/reference.html#boost.process.extend.get_last_error">get_last_error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675289504-bb">on_fork_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604894640-bb">on_fork_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675297952-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604903088-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">return</span> <a class="link" href="../child.html" title="Class child">child</a><span class="special">(</span><span class="special">)</span>
 <span class="special">}</span>
 <span class="keyword">else</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">pid</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span> <span class="comment">//child process</span>
 <span class="special">{</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675284480-bb">on_exec_setup</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604889616-bb">on_exec_setup</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
     <a href="http://pubs.opengroup.org/onlinepubs/009695399/functions/exec.html" target="_top"><span class="identifier">execve</span></a><span class="special">(</span><span class="identifier">exe</span><span class="special">,</span> <span class="identifier">cmd_line</span><span class="special">,</span> <span class="identifier">env</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">auto</span> <span class="identifier">ec</span> <span class="special">=</span> <a class="link" href="../../../process/reference.html#boost.process.extend.get_last_error">get_last_error</a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675278928-bb">on_exec_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604884064-bb">on_exec_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
 
     <span class="emphasis"><em><span class="identifier">unspecified</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></em></span><span class="comment">//here the error is send to the father process interally</span>
 
@@ -105,18 +105,18 @@ As information for extension development, here is the structure of the process l
 
 <span class="emphasis"><em><span class="identifier">unspecified</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></em></span><span class="comment">//here, we read the the error from the child process</span>
 
-<span class="keyword">if</span> <span class="special">(</span><a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span>
+<span class="keyword">if</span> <span class="special">(</span><a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675297952-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604903088-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
 <span class="keyword">else</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675297952-bb">on_success</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604903088-bb">on_success</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">)</span><span class="special">;</span>
 
 <span class="comment">//now we check again, because a on_success handler might've errored.</span>
-<span class="keyword">if</span> <span class="special">(</span><a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span>
+<span class="keyword">if</span> <span class="special">(</span><a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span>
 <span class="special">{</span>
     <span class="keyword">for</span> <span class="special">(</span><span class="keyword">auto</span> <span class="special">&amp;</span> <span class="identifier">s</span> <span class="special">:</span> <span class="identifier">seq</span><span class="special">)</span>
-        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45477675297952-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45477675225776-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
+        <span class="identifier">s</span><span class="special">.</span><a class="link" href="handler.html#idm45170604903088-bb">on_error</a><span class="special">(</span><span class="special">*</span><span class="keyword">this</span><span class="special">,</span> <a class="link" href="posix_executor.html#idm45170604830912-bb">error</a><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
     <span class="keyword">return</span> <a class="link" href="../child.html" title="Class child">child</a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
 <span class="special">}</span>
 <span class="keyword">else</span>
@@ -161,12 +161,12 @@ As information for extension development, here is the structure of the process l
 </div>
 <div class="refsect2">
 <a name="id-1.3.31.9.13.7.4.5"></a><h3>
-<a name="idm45477675226336-bb"></a><code class="computeroutput">posix_executor</code> public member functions</h3>
+<a name="idm45170604831472-bb"></a><code class="computeroutput">posix_executor</code> public member functions</h3>
 <div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
-<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <a name="idm45477675225776-bb"></a><span class="identifier">error</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>This function returns a const reference to the error state of the executor. </li>
+<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <a name="idm45170604830912-bb"></a><span class="identifier">error</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>This function returns a const reference to the error state of the executor. </li>
 <li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idm45477675224304-bb"></a><span class="identifier">set_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> ec<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> msg<span class="special">)</span><span class="special">;</span></pre>
+<pre class="literallayout"><span class="keyword">void</span> <a name="idm45170604829440-bb"></a><span class="identifier">set_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> ec<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> msg<span class="special">)</span><span class="special">;</span></pre>
 <p>This function can be used to report an error to the executor. This will be handled according to the configuration of the executor, i.e. it might throw an exception. </p>
 <div class="note"><table border="0" summary="Note">
 <tr>
@@ -179,7 +179,7 @@ As information for extension development, here is the structure of the process l
 </p>
 </li>
 <li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idm45477675220736-bb"></a><span class="identifier">set_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> ec<span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> msg<span class="special">)</span><span class="special">;</span></pre>
+<pre class="literallayout"><span class="keyword">void</span> <a name="idm45170604825872-bb"></a><span class="identifier">set_error</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> ec<span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> msg<span class="special">)</span><span class="special">;</span></pre>
 <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
 </li>
 </ol></div>