<?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 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'class.ev.php',
    1 => 'Ev',
    2 => 'A classe Ev',
  ),
  'up' => 
  array (
    0 => 'book.ev.php',
    1 => 'Ev',
  ),
  'prev' => 
  array (
    0 => 'ev.periodic-modes.php',
    1 => 'Modos de opera&ccedil;&atilde;o do observador peri&oacute;dico',
  ),
  'next' => 
  array (
    0 => 'ev.backend.php',
    1 => 'Ev::backend',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    '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">A 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">Introdução</h2>
   <p class="simpara">
    Ev é uma classe estática que fornece acesso ao laço padrão e a algumas
    operações comuns.
   </p>
  </div>

  <div class="section" id="ev.synopsis">
   <h2 class="title">Resumo da 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étodos */</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 predefinidas</h2>

  <p class="para" id="ev.constants.loop-flags">
   Opções passadas para criar um laço:

    <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">
        O valor das opções padrão
       </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">
        Se esta opção for usada (ou o programa executar setuid ou setgid),
        <code class="literal">libev</code>
        não irá olhar para a variável de ambiente
        <var class="varname">LIBEV_FLAGS</var>.
        Caso contrário (por padrão),
        <var class="varname">LIBEV_FLAGS</var>
        substituirá as opções completamente se for encontrado. Útil para
        testes de desempenho e busca de bugs.
       </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">
        Faz com que a libev verifique se há uma bifurcação em cada iteração, em vez de chamar
        <span class="methodname"><a href="evloop.fork.php" class="methodname">EvLoop::fork()</a></span>
        manualmente. Isso funciona chamando
        <code class="literal">getpid()</code>
        em cada iteração do laço e, portanto, isso pode desacelerar o
        laço de eventos com muitas iterações de laço, mas geralmente não é
        perceptível. Esta configuração de opção não pode ser substituída ou especificada na
        variável de ambiente
        <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">
        Quando esta opção é especificada,
        <code class="literal">libev</code>
        não tentará usar a API
        <code class="literal">inotify</code>
        para seus observadores
        <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>.
        A opção pode ser útil para conservar descritores de arquivo inotify,
        caso contrário, cada laço usando observadores
        <code class="literal">ev_stat</code>
        consome um
        identificador
        <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">
        Quando esta opção for especificada,
        <code class="literal">libev</code>
        tentará usar a API
        <code class="literal">signalfd</code>
        para seus observadores
        <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>
        (e
        <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>).
        Essa API fornece sinais de forma síncrona, o que a torna
        mais rápida e pode possibilitar a obtenção dos dados do sinal enfileirados.
        Também pode simplificar o tratamento de sinais com threads, desde que os sinais
        sejam bloqueados adequadamente nos threads.
        <code class="literal">Signalfd</code>
        não será usado por padrão.
       </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">
        Quando esta opção for especificada,
        <code class="literal">libev</code>
        evitará modificar a máscara do sinal. Especificamente, isso significa ter
        certeza de que os sinais estão desbloqueados antes de recebê-los.
       </span>
       <span class="simpara">
        Esse comportamento é útil para manipulação de sinal personalizado ou manipulação
        de sinais apenas em threads específicos.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.run-flags">
    Opções passadas para
    <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">
        Significa que o laço de eventos irá procurar novos eventos, irá tratar esses
        eventos e quaisquer outros já pendentes, mas não irá esperar e bloquear
        o processo caso não haja eventos e retornará após uma
        iteração do laço. Às vezes, isso é útil para pesquisar e lidar com novos
        eventos ao fazer cálculos demorados, para manter o programa
        responsivo.
       </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">
        Significa que o laço de eventos procurará novos eventos (aguardando se necessário)
        e tratará desses e de quaisquer outros já pendentes. Ele bloqueará
        o processo até que pelo menos um novo evento chegue (que pode ser um
        evento interno ao próprio libev, portanto não há garantia de que um
        retorno de chamada registrado pelo usuário será chamado) e retornará após uma
        iteração do laço.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.break-flags">
    Opção passada para
    <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">
        Cancele a operação de interrupção.
       </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">
        Faz com que a chamada
        <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>)
        mais interna retorne.
       </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">
        Faz com que todas as chamadas
        <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>)
        aninhadas retornem.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.watcher-pri">
    Prioridades do observador:

    <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">
        Prioridade mínima permitida do observador.
       </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">
        Prioridade máxima permitida do observador.
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.watcher-revents">
    Máscaras de bits de eventos (recebidos):

    <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">
        O descritor de arquivo no
        observador <span class="classname"><a href="class.evio.php" class="classname">EvIo</a></span>
        tornou-se legível.
       </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">
        O descritor de arquivo no
        observador <span class="classname"><a href="class.evio.php" class="classname">EvIo</a></span>
        tornou-se gravável.
       </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">
        O tempo do observador <span class="classname"><a href="class.evtimer.php" class="classname">EvTimer</a></span>
        expirou.
       </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">
        O tempo do observador <span class="classname"><a href="class.evperiodic.php" class="classname">EvPeriodic</a></span>
        expirou.
       </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">
        Um sinal especificado em
        <span class="methodname"><a href="evsignal.construct.php" class="methodname">EvSignal::__construct()</a></span>
        foi recebido.
       </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">
        O
        <code class="parameter">pid</code>
        especificado em
        <span class="methodname"><a href="evchild.construct.php" class="methodname">EvChild::__construct()</a></span>
        recebeu uma alteração de status.
       </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">
        O caminho especificado no
        observador <span class="classname"><a href="class.evstat.php" class="classname">EvStat</a></span>
        alterou seus atributos.
       </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">
        O observador <span class="classname"><a href="class.evidle.php" class="classname">EvIdle</a></span>
        funciona quando não há nada a fazer com outros observadores.
       </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">
        Todos
        os observadores <span class="classname"><a href="class.evprepare.php" class="classname">EvPrepare</a></span>
        são invocados logo antes do início de
        <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span>.
        Assim,
        os observadores <span class="classname"><a href="class.evprepare.php" class="classname">EvPrepare</a></span>
        são os últimos observadores invocados antes do laço de eventos dormir ou
        pesquisar novos eventos.
       </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">
        Todos
        os observadores <span class="classname"><a href="class.evcheck.php" class="classname">EvCheck</a></span>
        são enfileirados logo após
        <span class="methodname"><a href="ev.run.php" class="methodname">Ev::run()</a></span>
        reunir os novos eventos, mas antes de enfileirar quaisquer retornos de chamada para
        quaisquer eventos recebidos. Assim,
        os observadores <span class="classname"><a href="class.evcheck.php" class="classname">EvCheck</a></span>
        serão invocados antes de quaisquer outros observadores de prioridade igual ou
        inferior dentro de uma iteração do laço de eventos.
       </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">
        O laço de eventos incorporado especificado no
        observador <span class="classname"><a href="class.evembed.php" class="classname">EvEmbed</a></span>
        precisa de atenção.
       </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">
        Nunca enviado (ou usado de outra forma) pela
        própria <code class="literal">libev</code>,
        mas pode ser usado livremente por usuários da
        <code class="literal">libev</code>
        para sinalizar observadores
        (por exemplo, via
        <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">
        Ocorreu um erro não especificado, o observador foi interrompido. Isto
        pode acontecer porque o observador não pôde ser iniciado corretamente porque
        <code class="literal">libev</code>
        ficou sem memória, um descritor de arquivo foi fechado ou qualquer
        outro problema.
        <code class="literal">Libev</code>
        considera esses bugs de aplicação. Veja também
        <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#ANATOMY_OF_A_WATCHER_CONTENT" class="link external">&raquo;&nbsp;ANATOMIA
    DE UM OBSERVADOR</a>
       </span>
      </dd>
     
    </dl>
   </p>

   <p class="para" id="ev.constants.watcher-backends">
    Opções 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>
        específico do Linux para kernels pré e pó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>
        usado na maioria dos sistemas BSD.
        O observador <span class="classname"><a href="class.evembed.php" class="classname">EvEmbed</a></span>
        pode ser usado para incorporar um laço (com backend kqueue) em
        outro. Por exemplo, pode-se tentar criar um laço de eventos com backend
        <code class="literal">kqueue</code>
        e usá-lo apenas para soquetes.
       </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">
        Back-end do Solaris 8. Isso ainda não foi implementado.
       </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">
        Mecanismo de porta de eventos Solaris 10 com bom dimensionamento.
       </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">
        Experimente todos os back-ends (mesmo os corrompidos). Não é recomendado usá-lo
        explicitamente. Operadores bit a bit devem ser aplicados aqui (por exemplo,
        <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>).
        Use
        <span class="methodname"><a href="ev.recommendedbackends.php" class="methodname">Ev::recommendedBackends()</a></span>
        ou não não especifique nenhum back-end.
       </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">
        Não é um backend, mas uma máscara para selecionar todos os bits de
        backend do valor <code class="parameter">flags</code>
        para mascarar quaisquer backends (por exemplo, ao modificar
        a variável de ambiente
        <var class="varname">LIBEV_FLAGS</var>).
       </span>
      </dd>
     
    </dl>
   </p>

   <blockquote class="note"><p><strong class="note">Nota</strong>: 
    <span class="simpara">
     Para o laço padrão durante a fase de inicialização do módulo,
     <code class="literal">Ev</code>
     registra
     <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>
     chamada por meio de
     <code class="literal">pthread_atfork</code>
     (se disponível).
    </span>
   </p></blockquote>
   <blockquote class="note"><p><strong class="note">Nota</strong>: 
    <span class="simpara">
     Existem métodos que fornecem acesso ao
     <em>laço de eventos
     padrão</em>
     na classe
     <span class="classname"><strong class="classname">Ev</strong></span>
     (por exemplo,
     <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.) Para
     <em>laços personalizados</em>
     (criados com
     <span class="methodname"><a href="evloop.construct.php" class="methodname">EvLoop::__construct()</a></span>)
     esses valores podem ser acessados através de propriedades e métodos
     correspondentes da
     classe
     <span class="classname"><a href="class.evloop.php" class="classname">EvLoop</a></span>.
    </span>
    <span class="simpara">
     A instância do laço de eventos padrão em si pode ser obtida por meio do
     método
     <span class="methodname"><a href="evloop.defaultloop.php" class="methodname">EvLoop::defaultLoop()</a></span>.
    </span>
   </p></blockquote>
  </div>

 </div>

 





















































































<h2>Índice</h2><ul class="chunklist chunklist_reference"><li><a href="ev.backend.php">Ev::backend</a> — Retorna um inteiro descrevendo o backend usado por libev</li><li><a href="ev.depth.php">Ev::depth</a> — Retorna profundidade de recurs&atilde;o</li><li><a href="ev.embeddablebackends.php">Ev::embeddableBackends</a> — Retorna o conjunto de backends que podem ser incorporados em outros la&ccedil;os de eventos</li><li><a href="ev.feedsignal.php">Ev::feedSignal</a> — Alimenta um evento de sinal info Ev</li><li><a href="ev.feedsignalevent.php">Ev::feedSignalEvent</a> — Alimenta o evento de sinal no la&ccedil;o padr&atilde;o</li><li><a href="ev.iteration.php">Ev::iteration</a> — Retorna o n&uacute;mero de vezes que o la&ccedil;o de eventos padr&atilde;o pesquisou novos
  eventos</li><li><a href="ev.now.php">Ev::now</a> — Retorna o hor&aacute;rio em que a &uacute;ltima itera&ccedil;&atilde;o do la&ccedil;o de eventos padr&atilde;o
  foi iniciada</li><li><a href="ev.nowupdate.php">Ev::nowUpdate</a> — Estabelece a hora atual consultando o kernel, atualizando o hor&aacute;rio
  retornado por Ev::now no progresso</li><li><a href="ev.recommendedbackends.php">Ev::recommendedBackends</a> — Retorna uma m&aacute;scara de bits de backends recomendados para a
  plataforma atual</li><li><a href="ev.resume.php">Ev::resume</a> — Retoma o la&ccedil;o de eventos padr&atilde;o suspenso anteriormente</li><li><a href="ev.run.php">Ev::run</a> — Come&ccedil;a a verificar eventos e chamar fun&ccedil;&otilde;es de retorno para o
  la&ccedil;o padr&atilde;o</li><li><a href="ev.sleep.php">Ev::sleep</a> — Bloqueia o processo pelo n&uacute;mero de segundos fornecido</li><li><a href="ev.stop.php">Ev::stop</a> — Interrompe o la&ccedil;o de eventos padr&atilde;o</li><li><a href="ev.supportedbackends.php">Ev::supportedBackends</a> — Retorna o conjunto de backends suportados pela configura&ccedil;&atilde;o atual
  do libev</li><li><a href="ev.suspend.php">Ev::suspend</a> — Suspende o la&ccedil;o de eventos padr&atilde;o</li><li><a href="ev.time.php">Ev::time</a> — Retorna o hor&aacute;rio atual em segundos fracion&aacute;rios desde a &eacute;poca</li><li><a href="ev.verify.php">Ev::verify</a> — Executa verifica&ccedil;&otilde;es de consist&ecirc;ncia interna (para depura&ccedil;&atilde;o)</li></ul>
</div>
<?php manual_footer($setup); ?>