<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.ev.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'class.ev.php',
    1 => 'Ev',
    2 => 'La classe Ev',
  ),
  'up' => 
  array (
    0 => 'book.ev.php',
    1 => 'Ev',
  ),
  'prev' => 
  array (
    0 => 'ev.periodic-modes.php',
    1 => 'Modes d\'op&eacute;ration p&eacute;riodique d\'un watcher',
  ),
  'next' => 
  array (
    0 => 'ev.backend.php',
    1 => 'Ev::backend',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/ev/ev.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.ev.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.ev" class="reference">
 <h1 class="title">La classe Ev</h1>
 
 <div class="partintro"><p class="verinfo">(PECL ev &gt;= 0.2.0)</p>

  <div class="section" id="ev.intro">
   <h2 class="title">Introduction</h2>
   <p class="simpara">
    La classe Ev est une classe statique fournissant l&#039;accès à la boucle par défaut
    ainsi qu&#039;à quelques opérations communes.
   </p>
  </div>

  <div class="section" id="ev.synopsis">
   <h2 class="title">Synopsis de la classe</h2>


   <div class="classsynopsis">
    <span class="ooclass">
     <strong class="classname"></strong>
    </span>

    <div class="classsynopsisinfo">
     <span class="ooclass">
      <span class="modifier">final</span>
      <span class="modifier">class</span> <strong class="classname">Ev</strong>
     </span>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constantes */</div>

    <div class="fieldsynopsis">
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.flag-auto"><var class="varname">FLAG_AUTO</var></a></var><span class="initializer"> = 0</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.flag-noenv"><var class="varname">FLAG_NOENV</var></a></var><span class="initializer"> = 16777216</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.flag-forkcheck"><var class="varname">FLAG_FORKCHECK</var></a></var><span class="initializer"> = 33554432</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.flag-noinotify"><var class="varname">FLAG_NOINOTIFY</var></a></var><span class="initializer"> = 1048576</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.flag-signalfd"><var class="varname">FLAG_SIGNALFD</var></a></var><span class="initializer"> = 2097152</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.flag-nosigmask"><var class="varname">FLAG_NOSIGMASK</var></a></var><span class="initializer"> = 4194304</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.run-nowait"><var class="varname">RUN_NOWAIT</var></a></var><span class="initializer"> = 1</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.run-once"><var class="varname">RUN_ONCE</var></a></var><span class="initializer"> = 2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.break-cancel"><var class="varname">BREAK_CANCEL</var></a></var><span class="initializer"> = 0</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.break-one"><var class="varname">BREAK_ONE</var></a></var><span class="initializer"> = 1</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.break-all"><var class="varname">BREAK_ALL</var></a></var><span class="initializer"> = 2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.minpri"><var class="varname">MINPRI</var></a></var><span class="initializer"> = -2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.maxpri"><var class="varname">MAXPRI</var></a></var><span class="initializer"> = 2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.read"><var class="varname">READ</var></a></var><span class="initializer"> = 1</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.write"><var class="varname">WRITE</var></a></var><span class="initializer"> = 2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.timer"><var class="varname">TIMER</var></a></var><span class="initializer"> = 256</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.periodic"><var class="varname">PERIODIC</var></a></var><span class="initializer"> = 512</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.signal"><var class="varname">SIGNAL</var></a></var><span class="initializer"> = 1024</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.child"><var class="varname">CHILD</var></a></var><span class="initializer"> = 2048</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.stat"><var class="varname">STAT</var></a></var><span class="initializer"> = 4096</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.idle"><var class="varname">IDLE</var></a></var><span class="initializer"> = 8192</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.prepare"><var class="varname">PREPARE</var></a></var><span class="initializer"> = 16384</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.check"><var class="varname">CHECK</var></a></var><span class="initializer"> = 32768</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.embed"><var class="varname">EMBED</var></a></var><span class="initializer"> = 65536</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.custom"><var class="varname">CUSTOM</var></a></var><span class="initializer"> = 16777216</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.error"><var class="varname">ERROR</var></a></var><span class="initializer"> = 2147483648</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-select"><var class="varname">BACKEND_SELECT</var></a></var><span class="initializer"> = 1</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-poll"><var class="varname">BACKEND_POLL</var></a></var><span class="initializer"> = 2</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-epoll"><var class="varname">BACKEND_EPOLL</var></a></var><span class="initializer"> = 4</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-kqueue"><var class="varname">BACKEND_KQUEUE</var></a></var><span class="initializer"> = 8</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-devpoll"><var class="varname">BACKEND_DEVPOLL</var></a></var><span class="initializer"> = 16</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-port"><var class="varname">BACKEND_PORT</var></a></var><span class="initializer"> = 32</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-all"><var class="varname">BACKEND_ALL</var></a></var><span class="initializer"> = 63</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.ev.php#ev.constants.backend-mask"><var class="varname">BACKEND_MASK</var></a></var><span class="initializer"> = 65535</span>;</div>


    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Méthodes */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.backend.php" class="methodname">backend</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.depth.php" class="methodname">depth</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.embeddablebackends.php" class="methodname">embeddableBackends</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.feedsignal.php" class="methodname">feedSignal</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$signum</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.feedsignalevent.php" class="methodname">feedSignalEvent</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$signum</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.iteration.php" class="methodname">iteration</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.now.php" class="methodname">now</a></span>(): <span class="type"><a href="language.types.float.php" class="type float">float</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.nowupdate.php" class="methodname">nowUpdate</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.recommendedbackends.php" class="methodname">recommendedBackends</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.resume.php" class="methodname">resume</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.run.php" class="methodname">run</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code>
   <span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.sleep.php" class="methodname">sleep</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$seconds</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.stop.php" class="methodname">stop</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$how</code>
   <span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.supportedbackends.php" class="methodname">supportedBackends</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.suspend.php" class="methodname">suspend</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.time.php" class="methodname">time</a></span>(): <span class="type"><a href="language.types.float.php" class="type float">float</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="ev.verify.php" class="methodname">verify</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

   }</div>

  </div>

  <div class="section" id="ev.constants">
   <h2 class="title">Constantes pré-définies</h2>

  <p class="para" id="ev.constants.loop-flags">
   Drapeaux passés pour créer une boucle :

    <dl>
     
      <dt id="ev.constants.flag-auto">
       <strong><code><a href="class.ev.php#ev.constants.flag-auto">Ev::FLAG_AUTO</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        La valeur par défaut des drapeaux
       </span>
      </dd>
     
     
      <dt id="ev.constants.flag-noenv">
       <strong><code><a href="class.ev.php#ev.constants.flag-noenv">Ev::FLAG_NOENV</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Si ce drapeau est utilisé (ou que le programme exécute
        setuid ou setgid), <code class="literal">libev</code>
        ne va pas regarder la variable d&#039;environnement
        <var class="varname">LIBEV_FLAGS</var>. Sinon (comportement par défaut),
        <var class="varname">LIBEV_FLAGS</var> va écraser complètement le
        drapeau s&#039;il est trouvé. Utile pour des tests de performance
        et pour la recherche de bogues.
       </span>
      </dd>
     
     
      <dt id="ev.constants.flag-forkcheck">
       <strong><code><a href="class.ev.php#ev.constants.flag-forkcheck">Ev::FLAG_FORKCHECK</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Fait que libev va vérifier si un fork existe à chaque itération,
        au lieu d&#039;appeler manuellement la méthode
        <span class="methodname"><a href="evloop.fork.php" class="methodname">EvLoop::fork()</a></span>. Ce mécanisme fonctionne
        en appelant <code class="literal">getpid()</code> à chaque itération de
        la boucle, et ainsi, va ralentir la boucle d&#039;événements qui
        possèdent beaucoup d&#039;itérations, mais habituellement,
        ce ralentissement n&#039;est pas notable. La configuration de ce drapeau
        ne peut pas être écrasée ou spécifiée dans la variable
        d&#039;environnement <var class="varname">LIBEV_FLAGS</var>.
       </span>
      </dd>
     
     
      <dt id="ev.constants.flag-noinotify">
       <strong><code><a href="class.ev.php#ev.constants.flag-noinotify">Ev::FLAG_NOINOTIFY</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Lorsque ce drapeau est spécifié, <code class="literal">libev</code>
        ne va pas tenter d&#039;utiliser l&#039;API <code class="literal">inotify</code>
        pour ces watchers
        <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_stat_code_did_the_file_attri" class="link external">&raquo;&nbsp;ev_stat</a>.
        Ce drapeau peut être utile pour conserver les descripteurs de
        fichiers inotify, sachant que sinon, chaque boucle utilisant les
        watchers <code class="literal">ev_stat</code> va consommer un gestionnaire
        <code class="literal">inotify</code>.
       </span>
      </dd>
     
     
      <dt id="ev.constants.flag-signalfd">
       <strong><code><a href="class.ev.php#ev.constants.flag-signalfd">Ev::FLAG_SIGNALFD</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Lorsque ce drapeau est spécifié, <code class="literal">libev</code>
        va tenter d&#039;utiliser l&#039;API <code class="literal">signalfd</code>
        pour ces watchers
        <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_signal_code_signal_me_when_a" class="link external">&raquo;&nbsp;ev_signal</a>
        (et
        <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_child_code_watch_out_for_pro" class="link external">&raquo;&nbsp;ev_child</a>).
        Cette API délivre les signaux de façon asynchrone, ce qui
        la rend plus rapide, et peut permettre la récupération des données
        des signaux en attente. Elle peut également simplifier la gestion
        des signaux avec les threads, sachant que les signaux sont des
        propriétés bloquées dans les threads. <code class="literal">Signalfd</code>
        ne sera pas utilisé par défaut.
       </span>
      </dd>
     
     
      <dt id="ev.constants.flag-nosigmask">
       <strong><code><a href="class.ev.php#ev.constants.flag-nosigmask">Ev::FLAG_NOSIGMASK</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Lorsque ce drapeau est spécifié, <code class="literal">libev</code>
        ne va pas modifier le masque du signal. Ceci signifie
        qu&#039;il faut s&#039;assurer que les signaux sont déverrouillés
        avant de les recevoir.
       </span>
       <span class="simpara">
        Ce comportement est utile pour la gestion personnalisée des signaux,
        ou la gestion des signaux uniquement dans des threads spécifiques.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.run-flags">
    Drapeaux à passer à
    <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span>,
    ou à <span class="methodname"><a href="evloop.run.php" class="methodname">EvLoop::run()</a></span>

    <dl>
     
      <dt id="ev.constants.run-nowait">
       <strong><code><a href="class.ev.php#ev.constants.run-nowait">Ev::RUN_NOWAIT</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Signifie que la boucle d&#039;événements va regarder si de nouveaux
        événements sont présents, va gérer ces nouveaux événements,
        et tous les événements spéciaux, mais ne va pas attendre et
        bloquer le processus dans le cas où il n&#039;y a pas d&#039;événement,
        et va retourner après une itération de la boucle. Il est parfois
        utile de placer en file et gérer les nouveaux événements
        pendant de longs calculs, et ce, pour garder le programme actif.
       </span>
      </dd>
     
     
      <dt id="ev.constants.run-once">
       <strong><code><a href="class.ev.php#ev.constants.run-once">Ev::RUN_ONCE</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Signifie que la boucle d&#039;événements va regarder si de nouveaux
        événements sont présents (et attendre, si nécessaire), et va les
        gérer, eux et les spéciaux. Elle va bloquer le processus tant qu&#039;au
        moins un événement arrive (qui peut être un événement interne à libev,
        aussi, il n&#039;est pas garanti qu&#039;une fonction de rappel enregistrée par
        l&#039;utilisateur ne soit appelée), et va retourner après une itération
        de la boucle.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.break-flags">
    Drapeaux passés à
    <span class="methodname"><a href="ev.stop.php" class="methodname">Ev::stop()</a></span>,
    ou à
    <span class="methodname"><a href="evloop.stop.php" class="methodname">EvLoop::stop()</a></span>

    <dl>
     
      <dt id="ev.constants.break-cancel">
       <strong><code><a href="class.ev.php#ev.constants.break-cancel">Ev::BREAK_CANCEL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Annule l&#039;opération d&#039;annulation.
       </span>
      </dd>
     
     
      <dt id="ev.constants.break-one">
       <strong><code><a href="class.ev.php#ev.constants.break-one">Ev::BREAK_ONE</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Retourne le plus profond appel à
        <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span>
        (ou <span class="methodname"><a href="evloop.run.php" class="methodname">EvLoop::run()</a></span>).
       </span>
      </dd>
     
     
      <dt id="ev.constants.break-all">
       <strong><code><a href="class.ev.php#ev.constants.break-all">Ev::BREAK_ALL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Retourne le plus proche appel à
        <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span>
        (ou <span class="methodname"><a href="evloop.run.php" class="methodname">EvLoop::run()</a></span>).
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.watcher-pri">
    Priorités de Watcher :

    <dl>
     
      <dt id="ev.constants.minpri">
       <strong><code><a href="class.ev.php#ev.constants.minpri">Ev::MINPRI</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Priorité minimale autorisée pour un watcher.
       </span>
      </dd>
     
     
      <dt id="ev.constants.maxpri">
       <strong><code><a href="class.ev.php#ev.constants.maxpri">Ev::MAXPRI</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Priorité maximale autorisée pour un watcher.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.watcher-revents">
    Masques d&#039;octets d&#039;événements (reçus) :

    <dl>
     
      <dt id="ev.constants.read">
       <strong><code><a href="class.ev.php#ev.constants.read">Ev::READ</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le descripteur de fichier dans le watcher
        <span class="classname"><a href="class.evio.php" class="classname">EvIo</a></span> est devenu accessible
        en lecture.
       </span>
      </dd>
     
     
      <dt id="ev.constants.write">
       <strong><code><a href="class.ev.php#ev.constants.write">Ev::WRITE</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le descripteur de fichier dans le watcher
        <span class="classname"><a href="class.evio.php" class="classname">EvIo</a></span> est devenu accessible
        en écriture.
       </span>
      </dd>
     
     
      <dt id="ev.constants.timer">
       <strong><code><a href="class.ev.php#ev.constants.timer">Ev::TIMER</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le watcher <span class="classname"><a href="class.evtimer.php" class="classname">EvTimer</a></span>
        a atteint son délai maximal d&#039;attente.
       </span>
      </dd>
     
     
      <dt id="ev.constants.periodic">
       <strong><code><a href="class.ev.php#ev.constants.periodic">Ev::PERIODIC</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le watcher <span class="classname"><a href="class.evperiodic.php" class="classname">EvPeriodic</a></span>
        a atteint son délai maximal d&#039;attente.
       </span>
      </dd>
     
     
      <dt id="ev.constants.signal">
       <strong><code><a href="class.ev.php#ev.constants.signal">Ev::SIGNAL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Un signal spécifié dans
        <span class="methodname"><a href="evsignal.construct.php" class="methodname">EvSignal::__construct()</a></span>
        a été reçu.
       </span>
      </dd>
     
     
      <dt id="ev.constants.child">
       <strong><code><a href="class.ev.php#ev.constants.child">Ev::CHILD</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le <code class="parameter">pid</code> spécifié dans
        <span class="methodname"><a href="evchild.construct.php" class="methodname">EvChild::__construct()</a></span>
        a reçu une modification de statut.
       </span>
      </dd>
     
     
      <dt id="ev.constants.stat">
       <strong><code><a href="class.ev.php#ev.constants.stat">Ev::STAT</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le chemin spécifié dans le watcher
        <span class="classname"><a href="class.evstat.php" class="classname">EvStat</a></span> a modifié ses
        attributs.
       </span>
      </dd>
     
     
      <dt id="ev.constants.idle">
       <strong><code><a href="class.ev.php#ev.constants.idle">Ev::IDLE</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Le watcher <span class="classname"><a href="class.evidle.php" class="classname">EvIdle</a></span> fonctionne lorsqu&#039;il
        n&#039;a aucune autre tâche à faire avec les autres watchers.
       </span>
      </dd>
     
     
      <dt id="ev.constants.prepare">
       <strong><code><a href="class.ev.php#ev.constants.prepare">Ev::PREPARE</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Tous les watchers <span class="classname"><a href="class.evprepare.php" class="classname">EvPrepare</a></span>
        sont appelés juste avant le démarrage de
        <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span>. Ainsi, les watchers
        <span class="classname"><a href="class.evprepare.php" class="classname">EvPrepare</a></span> sont les derniers watchers
        à être appelés avant le repos de la boucle d&#039;événements,
        ou la mise en file des nouveaux événements.
       </span>
      </dd>
     
     
      <dt id="ev.constants.check">
       <strong><code><a href="class.ev.php#ev.constants.check">Ev::CHECK</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Tous les watchers <span class="classname"><a href="class.evcheck.php" class="classname">EvCheck</a></span>
        sont placés en file d&#039;attente juste après que
        <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span> ait récupéré
        les nouveaux événements, mais avant, toutes les
        fonctions de rappel de tous les événements reçus
        sont placées en file d&#039;attente. Ainsi, les watchers
        <span class="classname"><a href="class.evcheck.php" class="classname">EvCheck</a></span> seront appelés avant tout
        autre watcher de même priorité ou de priorité plus basse
        dans une itération de boucle d&#039;événements.
       </span>
      </dd>
     
     
      <dt id="ev.constants.embed">
       <strong><code><a href="class.ev.php#ev.constants.embed">Ev::EMBED</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        La boucle d&#039;événements embarquée spécifiée dans le
        watcher <span class="classname"><a href="class.evembed.php" class="classname">EvEmbed</a></span> a besoin
        de toute l&#039;attention.
       </span>
      </dd>
     
     
      <dt id="ev.constants.custom">
       <strong><code><a href="class.ev.php#ev.constants.custom">Ev::CUSTOM</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Pas encore envoyé (ou utilisé) par
        <code class="literal">libev</code>, mais peut être
        librement utilisé par les utilisateurs
        <code class="literal">libev</code> pour signaler les watchers
        (c.-à-d. via la méthode <span class="methodname"><a href="evwatcher.feed.php" class="methodname">EvWatcher::feed()</a></span>).
       </span>
      </dd>
     
     
      <dt id="ev.constants.error">
       <strong><code><a href="class.ev.php#ev.constants.error">Ev::ERROR</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Une erreur inconnue est survenue, le watcher s&#039;est arrêté. Ceci peut
        arriver car le watcher n&#039;a pas pu être démarré proprement
        car <code class="literal">libev</code> a dépassé la mémoire allouée, un
        descripteur de fichier a été fermé, ou tout autre problème.
        <code class="literal">Libev</code> considère ceci comme des bogues
        de l&#039;application. Voir aussi
        <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#ANATOMY_OF_A_WATCHER_CONTENT" class="link external">&raquo;&nbsp;l&#039;anatomie
        d&#039;un watcher</a>
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.watcher-backends">
    Drapeaux de Backend :

    <dl>
     
      <dt id="ev.constants.backend-select">
       <strong><code><a href="class.ev.php#ev.constants.backend-select">Ev::BACKEND_SELECT</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        <code class="literal">select(2) backend</code>
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-poll">
       <strong><code><a href="class.ev.php#ev.constants.backend-poll">Ev::BACKEND_POLL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        <code class="literal">poll(2) backend</code>
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-epoll">
       <strong><code><a href="class.ev.php#ev.constants.backend-epoll">Ev::BACKEND_EPOLL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Backend <code class="literal">epoll(7)</code> spécifique à Linux
        pour, à la fois, les kernels avant et après 2.6.9.
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-kqueue">
       <strong><code><a href="class.ev.php#ev.constants.backend-kqueue">Ev::BACKEND_KQUEUE</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Backend <code class="literal">kqueue</code> utilisé sur la
        plupart des systèmes BSD. Le watcher <span class="classname"><a href="class.evembed.php" class="classname">EvEmbed</a></span>
        peut être utilisé pour embarquer une boucle (avec le
        backend kqueue) dans une autre. Actuellement, une boucle peut
        tenter de créer une boucle d&#039;événements avec le backend
        <code class="literal">kqueue</code> et l&#039;utiliser uniquement pour les
        sockets.
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-devpoll">
       <strong><code><a href="class.ev.php#ev.constants.backend-devpoll">Ev::BACKEND_DEVPOLL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Backend Solaris 8. Actuellement non implémenté.
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-port">
       <strong><code><a href="class.ev.php#ev.constants.backend-port">Ev::BACKEND_PORT</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Mécanisme de port d&#039;événements Solaris avec un bon rendement.
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-all">
       <strong><code><a href="class.ev.php#ev.constants.backend-all">Ev::BACKEND_ALL</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Essai tous les backends (y compris les corrompus).
        Il n&#039;est pas recommandé de l&#039;utiliser explicitement.
        Les opérateurs de bits devraient être appliqués ici
        (c.-à-d. <strong><code><a href="class.ev.php#ev.constants.backend-all">Ev::BACKEND_ALL</a></code></strong> &amp; ~
        <strong><code><a href="class.ev.php#ev.constants.backend-kqueue">Ev::BACKEND_KQUEUE</a></code></strong>).
        Utiliser la méthode
        <span class="methodname"><a href="ev.recommendedbackends.php" class="methodname">Ev::recommendedBackends()</a></span> ou ne
        spécifiez aucun backend.
       </span>
      </dd>
     
     
      <dt id="ev.constants.backend-mask">
       <strong><code><a href="class.ev.php#ev.constants.backend-mask">Ev::BACKEND_MASK</a></code></strong>
      </dt>
      <dd>
       <span class="simpara">
        Pas un backend, mais un masque pour sélectionner tous
        les bits d&#039;un backend depuis la valeur de
        <code class="parameter">flags</code> pour représenter dans un
        masque n&#039;importe quel backend (c.-à-d. lors de la modification
        de la variable d&#039;environnement <var class="varname">LIBEV_FLAGS</var>).
       </span>
      </dd>
     
    </dl>
   </p>

   <blockquote class="note"><p><strong class="note">Note</strong>: 
    <span class="simpara">
     Pour la boucle par défaut, pendant la phase d&#039;initialisation
     du module, <code class="literal">Ev</code> enregistre des appels à
     <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#FUNCTIONS_CONTROLLING_EVENT_LOOPS_CO" class="link external">&raquo;&nbsp;ev_loop_fork</a>
     via <code class="literal">pthread_atfork</code> (si disponible).
    </span>
   </p></blockquote>
   <blockquote class="note"><p><strong class="note">Note</strong>: 
    <span class="simpara">
     Il y a des méthodes fournissant l&#039;accès à la
     <em>boucle d&#039;événements par défaut</em>
     dans la classe <span class="classname"><strong class="classname">Ev</strong></span>
     (c.-à-d. <span class="methodname"><a href="ev.iteration.php" class="methodname">Ev::iteration()</a></span>,
     <span class="methodname"><a href="ev.depth.php" class="methodname">Ev::depth()</a></span>, etc.) Pour les
     <em>boucles personnalisées</em> (créées avec
     <span class="methodname"><a href="evloop.construct.php" class="methodname">EvLoop::__construct()</a></span>), ces
     valeurs peuvent être accessibles via les propriétés et les
     méthodes correspondantes de la classe
     <span class="classname"><a href="class.evloop.php" class="classname">EvLoop</a></span>.
    </span>
    <span class="simpara">
     L&#039;instance de la boucle d&#039;événements par défaut peut être récupérée
     via la méthode <span class="methodname"><a href="evloop.defaultloop.php" class="methodname">EvLoop::defaultLoop()</a></span>.
    </span>
   </p></blockquote>
  </div>

 </div>

 












































































































<h2>Sommaire</h2><ul class="chunklist chunklist_reference"><li><a href="ev.backend.php">Ev::backend</a> — Retourne un entier d&eacute;crivant le backend utilis&eacute; par libev</li><li><a href="ev.depth.php">Ev::depth</a> — Retourne la profondeur de r&eacute;cursion</li><li><a href="ev.embeddablebackends.php">Ev::embeddableBackends</a> — Retourne le jeu de backends qui sont encapsul&eacute;s dans les autres boucles d'&eacute;v&eacute;nements</li><li><a href="ev.feedsignal.php">Ev::feedSignal</a> — Simule la r&eacute;ception d'un signal</li><li><a href="ev.feedsignalevent.php">Ev::feedSignalEvent</a> — Simule un &eacute;v&eacute;nement de signal dans la boucle par d&eacute;faut</li><li><a href="ev.iteration.php">Ev::iteration</a> — Retourne le nombre de fois que la boucle d'&eacute;v&eacute;nement par d&eacute;faut
   a &eacute;t&eacute; sollicit&eacute;e pour un nouvel &eacute;v&eacute;nement</li><li><a href="ev.now.php">Ev::now</a> — Retourne le temps de d&eacute;marrage de la derni&egrave;re it&eacute;ration de la boucle
   d'&eacute;v&eacute;nement par d&eacute;faut</li><li><a href="ev.nowupdate.php">Ev::nowUpdate</a> — &Eacute;tablit le temps courant en demandant au kernel ; met &agrave; jour le
   temps retourn&eacute; par Ev::now pendant l'ex&eacute;cution</li><li><a href="ev.recommendedbackends.php">Ev::recommendedBackends</a> — Retourne un masque d'octets de backends recommand&eacute;s
   pour la plateforme courante</li><li><a href="ev.resume.php">Ev::resume</a> — Reprend la boucle d'&eacute;v&eacute;nement par d&eacute;faut pr&eacute;c&eacute;demment stopp&eacute;e</li><li><a href="ev.run.php">Ev::run</a> — Commence la v&eacute;rification des &eacute;v&eacute;nements et appelle les fonctions
   de rappels pour la boucle par d&eacute;faut</li><li><a href="ev.sleep.php">Ev::sleep</a> — Bloque le processus pendant un nombre de secondes fourni</li><li><a href="ev.stop.php">Ev::stop</a> — Arr&ecirc;te la boucle d'&eacute;v&eacute;nements par d&eacute;faut</li><li><a href="ev.supportedbackends.php">Ev::supportedBackends</a> — Retourne le jeu de backends support&eacute;s par la configuration courante de libev</li><li><a href="ev.suspend.php">Ev::suspend</a> — Suspend la boucle par d&eacute;faut d'&eacute;v&eacute;nements</li><li><a href="ev.time.php">Ev::time</a> — Retourne le temps courant depuis l'&eacute;poque Unix</li><li><a href="ev.verify.php">Ev::verify</a> — Effectue des v&eacute;rifications internes de consistance (pour le d&eacute;bogage)</li></ul>
</div>
<?php manual_footer($setup); ?>