<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.evchild" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>The EvChild class</title>
 <titleabbrev>EvChild</titleabbrev>
 <partintro>
<!-- {{{ EvChild intro -->
  <section xml:id="evchild.intro">
   &reftitle.intro;
   <para>
    <classname>EvChild</classname>
    watchers trigger when the process receives a
    <constant>SIGCHLD</constant>
    in response to some child status changes (most typically when a child dies
    or exits). It is permissible to install an
    <constant>EvChild</constant>
    watcher after the child has been forked(which implies it might have
    already exited), as long as the event loop isn't entered(or is continued
    from a watcher), i.e. forking and then immediately registering a watcher
    for the child is fine, but forking and registering a watcher a few event
    loop iterations later or in the next callback invocation is not.
   </para>
   <para>
    It is allowed to register
    <classname>EvChild</classname>
    watchers in the
    <emphasis>default loop</emphasis>
    only.
   </para>
  </section>
<!-- }}} -->
  <section xml:id="evchild.synopsis">
   &reftitle.classsynopsis;

<!-- {{{ Synopsis -->
   <classsynopsis>
    <ooclass>
     <classname>EvChild</classname>
    </ooclass>
<!-- {{{ Class synopsis -->
    <classsynopsisinfo>
     <ooclass>
      <classname>EvChild</classname>
     </ooclass>
     <ooclass>
      <modifier>extends</modifier>
      <classname>EvWatcher</classname>
     </ooclass>
    </classsynopsisinfo>
<!-- }}} -->
    <classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
    <fieldsynopsis>
     <modifier>public</modifier>
     <varname linkend="evchild.props.pid">pid</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <varname linkend="evchild.props.rpid">rpid</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <varname linkend="evchild.props.rstatus">rstatus</varname>
    </fieldsynopsis>
    <classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('evwatcher.synopsis')/descendant::db:fieldsynopsis)" />
    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evchild')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])"/>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evchild')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
    <classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evwatcher')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
   </classsynopsis>
<!-- }}} -->
  </section>
<!-- {{{ EvChild properties -->
  <section xml:id="evchild.props">
   &reftitle.properties;
   <variablelist>
    <varlistentry xml:id="evchild.props.pid">
     <term>
      <varname>pid</varname>
     </term>
     <listitem>
      <para>
       <emphasis>Readonly</emphasis>
       . The process ID this watcher watches out for, or
       <constant>0</constant>
       , meaning any process ID.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry xml:id="evchild.props.rpid">
     <term>
      <varname>rpid</varname>
     </term>
     <listitem>
      <para>
       <emphasis>Readonly</emphasis>
       .The process ID that detected a status change.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry xml:id="evchild.props.rstatus">
     <term>
      <varname>rstatus</varname>
     </term>
     <listitem>
      <para>
       <emphasis>Readonly</emphasis>
       . The process exit status caused by
       <varname>rpid</varname>
       .
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </section>
<!-- }}} -->
 </partintro>

 &reference.ev.entities.evchild;

</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
