mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00
Add: evcheck, evchild, evstat docs
Change: Ev: createstopped methods and the watcher factory methods made final git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@328902 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
8b82a7e762
commit
da1f814030
29 changed files with 416 additions and 405 deletions
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvCheck::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvChild::createStopped</methodname>
|
||||
<methodparam><type>int</type><parameter>pid</parameter></methodparam>
|
||||
<methodparam><type>bool</type><parameter>trace</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvEmbed::createStopped</methodname>
|
||||
<methodparam><type>object</type><parameter>other</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<refentry xml:id="evembed.sweep" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvEmbed::sweep</refname>
|
||||
<refpurpose>The sweep purpose</refpurpose>
|
||||
<refpurpose>Make a single, non-blocking sweep over the embedded loop.</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvFork::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>object</type><methodname>EvIdle::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>mixed</type><parameter>data</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvIo::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>fd</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>events</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvCheck</type><methodname>EvLoop::check</methodname>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvChild</type><methodname>EvLoop::child</methodname>
|
||||
<methodparam><type>string</type><parameter>pid</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>trace</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvEmbed</type><methodname>EvLoop::embed</methodname>
|
||||
<methodparam><type>string</type><parameter>other</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>callback</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvFork</type><methodname>EvLoop::fork</methodname>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvIdle</type><methodname>EvLoop::idle</methodname>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvIo</type><methodname>EvLoop::io</methodname>
|
||||
<methodparam><type>mixed</type><parameter>fd</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>events</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvPeriodic</type><methodname>EvLoop::periodic</methodname>
|
||||
<methodparam><type>double</type><parameter>offset</parameter></methodparam>
|
||||
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvPrepare</type><methodname>EvLoop::prepare</methodname>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvSignal</type><methodname>EvLoop::signal</methodname>
|
||||
<methodparam><type>int</type><parameter>signum</parameter></methodparam>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvStat</type><methodname>EvLoop::stat</methodname>
|
||||
<methodparam><type>string</type><parameter>path</parameter></methodparam>
|
||||
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <type>EvTimer</type><methodname>EvLoop::timer</methodname>
|
||||
<methodparam><type>double</type><parameter>after</parameter></methodparam>
|
||||
<methodparam><type>double</type><parameter>repeat</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>EvPeriodic</type><methodname>EvPeriodic::createStopped</methodname>
|
||||
<methodparam><type>double</type><parameter>offset</parameter></methodparam>
|
||||
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>EvPrepare</type><methodname>EvPrepare::createStopped</methodname>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
|
|
|
@ -4,24 +4,27 @@
|
|||
<refentry xml:id="evsignal.createstopped" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvSignal::createStopped</refname>
|
||||
<refpurpose>The createStopped purpose</refpurpose>
|
||||
<refpurpose>Create stopped EvSignal watcher object</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvSignal::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>signum</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>priority</parameter></methodparam>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>EvSignal</type><methodname>EvSignal::createStopped</methodname>
|
||||
<methodparam><type>int</type><parameter>signum</parameter></methodparam>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
choice="opt"><type>mixed</type><parameter>data</parameter><initializer>&null;</initializer></methodparam>
|
||||
<methodparam
|
||||
choice="opt"><type>int</type><parameter>priority</parameter><initializer>0</initializer></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
|
||||
Create stopped EvSignal watcher object. Unlike
|
||||
<methodname>EvSignal::__construct</methodname>, this method does't
|
||||
start the watcher automatically.
|
||||
</para>
|
||||
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
|
@ -31,7 +34,8 @@
|
|||
<term><parameter>signum</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
Signal number. You can use one exported by <emphasis>pcntl</emphasis>
|
||||
extension. See also <literal>signal(7)</literal> man page.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -39,7 +43,7 @@
|
|||
<term><parameter>callback</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
See <link linkend="ev.watcher-callbacks">Watcher callbacks</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -47,7 +51,7 @@
|
|||
<term><parameter>data</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
Custom data associated with the watcher.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -55,7 +59,7 @@
|
|||
<term><parameter>priority</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
<link linkend="ev.constants.watcher-pri">Watcher priority</link>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -65,37 +69,15 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
|
||||
Returns EvSignal object on success.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title><function>EvSignal::createStopped</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* ... */
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member></member>
|
||||
<member><methodname>EvWatcher::start</methodname></member>
|
||||
<member><methodname>EvSignal::__construct</methodname></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -21,32 +21,33 @@
|
|||
<para>
|
||||
The path does not need to exist: changing from "path exists" to "path does
|
||||
not exist" is a status change like any other. The condition "path does not
|
||||
exist" is signified by the item <constant>'nlink'</constant> being 0 (which is otherwise always forced to be at
|
||||
least 1) and all the other fields of the Statdata object having unspecified
|
||||
contents.
|
||||
exist" is signified by the <constant>'nlink'</constant> item being 0(returned by
|
||||
<methodname>EvStat::attr</methodname> method).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The path must not end in a slash or contain special components such as . or
|
||||
... The path should be absolute: if it is relative and your working
|
||||
directory changes, then the behaviour is undefined.
|
||||
The path must not end in a slash or contain special components such as
|
||||
<constant>'.'</constant> or <constant>..</constant>. The path should be
|
||||
absolute: if it is relative and your working directory changes, then the
|
||||
behaviour is undefined.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Since there is no portable change notification interface available, the
|
||||
portable implementation simply calls stat() regularly on the path to see if
|
||||
it changed somehow. You can specify a recommended polling interval for this
|
||||
case. If you specify a polling interval of 0.0 (highly recommended!) then a
|
||||
suitable, unspecified default value will be used (which you can expect to
|
||||
be around five seconds, although this might change dynamically). libev will
|
||||
also impose a minimum interval which is currently around 0.1, but that’s
|
||||
usually overkill.
|
||||
portable implementation simply calls <emphasis>stat()</emphasis> regularly
|
||||
on the path to see if it changed somehow. You can specify a recommended
|
||||
polling interval for this case. If you specify a polling interval of
|
||||
<constant>0.0 </constant>(highly recommended) then a suitable, unspecified
|
||||
default value will be used(which you can expect to be around five seconds,
|
||||
although this might change dynamically). <emphasis>libev</emphasis> will
|
||||
also impose a minimum interval which is currently around
|
||||
<constant>0.1</constant>, but that’s usually overkill.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This watcher type is not meant for massive numbers of Stat watchers, as
|
||||
even with OS-supported change notifications, this can be
|
||||
resource-intensive.
|
||||
This watcher type is not meant for massive numbers of
|
||||
<classname>EvStat</classname> watchers, as even with OS-supported change
|
||||
notifications, this can be resource-intensive.
|
||||
</para>
|
||||
</section>
|
||||
<!-- }}} -->
|
||||
|
@ -80,6 +81,8 @@
|
|||
<varname linkend="evstat.props.interval">interval</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.evstat')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
|
||||
|
@ -97,40 +100,24 @@
|
|||
<section xml:id="evstat.props">
|
||||
&reftitle.properties;
|
||||
<variablelist>
|
||||
<varlistentry xml:id="evstat.props.is-active">
|
||||
<term><varname>is_active</varname></term>
|
||||
<varlistentry xml:id="evstat.props.interval">
|
||||
<term><varname>interval</varname></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="evstat.props.data">
|
||||
<term><varname>data</varname></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="evstat.props.is-pending">
|
||||
<term><varname>is_pending</varname></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="evstat.props.priority">
|
||||
<term><varname>priority</varname></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
<para>
|
||||
<emphasis>Readonly</emphasis>.
|
||||
Hint on how quickly a change is expected to be detected and should
|
||||
normally be specified as <constant>0.0</constant> to let
|
||||
<emphasis>libev</emphasis> choose a suitable value.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="evstat.props.path">
|
||||
<term><varname>path</varname></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry xml:id="evstat.props.interval">
|
||||
<term><varname>interval</varname></term>
|
||||
<listitem>
|
||||
<para></para>
|
||||
<para>
|
||||
<emphasis>Readonly</emphasis>.
|
||||
The path to wait for status changes on.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
|
|
@ -4,21 +4,19 @@
|
|||
<refentry xml:id="evstat.attr" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvStat::attr</refname>
|
||||
<refpurpose>The attr purpose</refpurpose>
|
||||
<refpurpose>Returns the values most recently detected by Ev</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>EvStat::attr</methodname>
|
||||
<modifier>public</modifier> <type>array</type><methodname>EvStat::attr</methodname>
|
||||
<void />
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
|
||||
Returns array of the values most recently detected by Ev
|
||||
</para>
|
||||
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
|
@ -29,37 +27,117 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
|
||||
Returns array with the values most recently detect by Ev(without actual
|
||||
<literal>stat</literal>'ing):
|
||||
<table>
|
||||
<title>
|
||||
List for item keys of the array returned by <methodname>EvStat::attr</methodname>
|
||||
</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Key</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><constant>'dev'</constant></entry>
|
||||
<entry>ID of device containing file</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'ino'</constant></entry>
|
||||
<entry>inode number</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'mode'</constant></entry>
|
||||
<entry>protection</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'nlink'</constant></entry>
|
||||
<entry>number of hard links</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'uid'</constant></entry>
|
||||
<entry>user ID of owner</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'size'</constant></entry>
|
||||
<entry>total size, in bytes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'gid'</constant></entry>
|
||||
<entry>group ID of owner</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'rdev'</constant></entry>
|
||||
<entry>device ID (if special file)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'blksize'</constant></entry>
|
||||
<entry>blocksize for file system I/O</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'blocks'</constant></entry>
|
||||
<entry>number of 512B blocks allocated</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'atime'</constant></entry>
|
||||
<entry>time of last access</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'ctime'</constant></entry>
|
||||
<entry>time of last status change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>'mtime'</constant></entry>
|
||||
<entry>time of last modification</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
<para>
|
||||
See <literal>stat(2)</literal> man page for details.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title><function>EvStat::attr</function> example</title>
|
||||
<programlisting role="php">
|
||||
<example>
|
||||
<title>Monitor changes of /var/log/messages</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
// Use 10 second update interval.
|
||||
$w = new EvStat("/var/log/messages", 8, function ($w) {
|
||||
echo "/var/log/messages changed\n";
|
||||
|
||||
/* ... */
|
||||
$attr = $w->attr();
|
||||
|
||||
if ($attr['nlink']) {
|
||||
printf("Current size: %ld\n", $attr['size']);
|
||||
printf("Current atime: %ld\n", $attr['atime']);
|
||||
printf("Current mtime: %ld\n", $attr['mtime']);
|
||||
} else {
|
||||
fprintf(STDERR, "`messages` file is not there!");
|
||||
$w->stop();
|
||||
}
|
||||
});
|
||||
|
||||
Ev::run();
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</programlisting>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member></member>
|
||||
<member><methodname>EvStat::prev</methodname></member>
|
||||
<member><methodname>EvStat::stat</methodname></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<refentry xml:id="evstat.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvStat::__construct</refname>
|
||||
<refpurpose>The __construct purpose</refpurpose>
|
||||
<refpurpose>Constructs EvStat watcher object</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
|
@ -12,17 +12,17 @@
|
|||
<methodsynopsis>
|
||||
<modifier>public</modifier> <methodname>EvStat::__construct</methodname>
|
||||
<methodparam><type>string</type><parameter>path</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>interval</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>priority</parameter></methodparam>
|
||||
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
choice="opt"><type>mixed</type><parameter>data</parameter><initializer>&null;</initializer></methodparam>
|
||||
<methodparam
|
||||
choice="opt"><type>int</type><parameter>priority</parameter><initializer>0</initializer></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
|
||||
Constructs EvStat watcher object and starts the watcher automatically.
|
||||
</para>
|
||||
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
|
@ -32,7 +32,7 @@
|
|||
<term><parameter>path</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
The path to wait for status changes on.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -40,7 +40,9 @@
|
|||
<term><parameter>interval</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
Hint on how quickly a change is expected to be detected and should
|
||||
normally be specified as <constant>0.0</constant> to let
|
||||
<emphasis>libev</emphasis> choose a suitable value.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -48,7 +50,7 @@
|
|||
<term><parameter>callback</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
See <link linkend="ev.watcher-callbacks">Watcher callbacks</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -56,7 +58,7 @@
|
|||
<term><parameter>data</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
Custom data associated with the watcher.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -64,7 +66,7 @@
|
|||
<term><parameter>priority</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
<link linkend="ev.constants.watcher-pri">Watcher priority</link>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -74,38 +76,39 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
|
||||
Returns EvStat watcher object on succes.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title><function>EvStat::__construct</function> example</title>
|
||||
<programlisting role="php">
|
||||
|
||||
<example>
|
||||
<title>Monitor changes of /var/log/messages</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
// Use 10 second update interval.
|
||||
$w = new EvStat("/var/log/messages", 8, function ($w) {
|
||||
echo "/var/log/messages changed\n";
|
||||
|
||||
/* ... */
|
||||
$attr = $w->attr();
|
||||
|
||||
if ($attr['nlink']) {
|
||||
printf("Current size: %ld\n", $attr['size']);
|
||||
printf("Current atime: %ld\n", $attr['atime']);
|
||||
printf("Current mtime: %ld\n", $attr['mtime']);
|
||||
} else {
|
||||
fprintf(STDERR, "`messages` file is not there!");
|
||||
$w->stop();
|
||||
}
|
||||
});
|
||||
|
||||
Ev::run();
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member></member>
|
||||
</simplelist>
|
||||
</programlisting>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
|
|
@ -4,25 +4,27 @@
|
|||
<refentry xml:id="evstat.createstopped" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvStat::createStopped</refname>
|
||||
<refpurpose>The createStopped purpose</refpurpose>
|
||||
<refpurpose>Create a stopped EvStat watcher object</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvStat::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>path</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>interval</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>data</parameter></methodparam>
|
||||
<methodparam choice="opt"><type>string</type><parameter>priority</parameter></methodparam>
|
||||
<methodparam><type>double</type><parameter>interval</parameter></methodparam>
|
||||
<methodparam><type>callable</type><parameter>callback</parameter></methodparam>
|
||||
<methodparam
|
||||
choice="opt"><type>mixed</type><parameter>data</parameter><initializer>&null;</initializer></methodparam>
|
||||
<methodparam
|
||||
choice="opt"><type>int</type><parameter>priority</parameter><initializer>0</initializer></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
|
||||
Creates EvStat watcher object, but doesn't start it
|
||||
automatically(unlike <methodname>EvStat::__construct</methodname>).
|
||||
</para>
|
||||
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
|
@ -32,7 +34,7 @@
|
|||
<term><parameter>path</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
The path to wait for status changes on.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -40,7 +42,9 @@
|
|||
<term><parameter>interval</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
Hint on how quickly a change is expected to be detected and should
|
||||
normally be specified as <constant>0.0</constant> to let
|
||||
<emphasis>libev</emphasis> choose a suitable value.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -48,7 +52,7 @@
|
|||
<term><parameter>callback</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
See <link linkend="ev.watcher-callbacks">Watcher callbacks</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -56,7 +60,7 @@
|
|||
<term><parameter>data</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
Custom data associated with the watcher.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -64,7 +68,7 @@
|
|||
<term><parameter>priority</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
||||
<link linkend="ev.constants.watcher-pri">Watcher priority</link>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -74,37 +78,15 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
|
||||
Returns a stopped EvStat watcher object on success.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title><function>EvStat::createStopped</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* ... */
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member></member>
|
||||
<member><methodname>EvStat::__construct</methodname></member>
|
||||
<member><methodname>EvWatcher::start</methodname></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<refentry xml:id="evstat.prev" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvStat::prev</refname>
|
||||
<refpurpose>The prev purpose</refpurpose>
|
||||
<refpurpose>Returns the previous set of values returned by EvStat::attr</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
|
@ -14,11 +14,10 @@
|
|||
<void />
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
|
||||
Just like <methodname>EvStat::attr</methodname>, but returns the previous
|
||||
set of values.
|
||||
</para>
|
||||
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
|
@ -29,37 +28,18 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
|
||||
Returns an array with the same structure as the array returned by
|
||||
<methodname>EvStat::attr</methodname>. The array contains previously
|
||||
detected values.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title><function>EvStat::prev</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* ... */
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member></member>
|
||||
<member><methodname>EvStat::attr</methodname></member>
|
||||
<member><methodname>EvStat::stat</methodname></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -4,21 +4,22 @@
|
|||
<refentry xml:id="evstat.stat" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>EvStat::stat</refname>
|
||||
<refpurpose>The stat purpose</refpurpose>
|
||||
<refpurpose>Initiates the stat call</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>EvStat::stat</methodname>
|
||||
<modifier>public</modifier> <type>bool</type><methodname>EvStat::stat</methodname>
|
||||
<void />
|
||||
</methodsynopsis>
|
||||
|
||||
<para>
|
||||
|
||||
Initiates the stat call(updates internal cache).
|
||||
It stats(using <literal>lstat</literal>) the <varname>path</varname>
|
||||
specified in the watcher and sets to the values found.
|
||||
</para>
|
||||
|
||||
&warn.undocumented.func;
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
|
@ -29,37 +30,15 @@
|
|||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
|
||||
Returns &true; if <varname>path</varname> exists. Otherwise &false;.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title><function>EvStat::stat</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
/* ... */
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member></member>
|
||||
<member><methodname>EvStat::attr</methodname></member>
|
||||
<member><methodname>EvStat::prev</methodname></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>final</modifier>
|
||||
<modifier>public</modifier> <modifier>static</modifier> <type>void</type><methodname>EvTimer::createStopped</methodname>
|
||||
<methodparam><type>string</type><parameter>after</parameter></methodparam>
|
||||
<methodparam><type>string</type><parameter>repeat</parameter></methodparam>
|
||||
|
|
|
@ -6,179 +6,179 @@
|
|||
|
||||
<versions>
|
||||
<!-- Methods -->
|
||||
<function name='ev::supportedbackends' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::recommendedbackends' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::embeddablebackends' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::sleep' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::time' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::feedsignal' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::run' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::now' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::iteration' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::depth' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::verify' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::backend' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::nowupdate' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::suspend' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::resume' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::defaultloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::loopfork' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::verify' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::invokepending' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::nowupdate' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::suspend' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::resume' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::backend' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::now' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::run' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::feedsignalevent' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::io' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::timer' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::periodic' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::signal' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::child' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::stat' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::idle' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::check' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::prepare' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::embed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evloop::fork' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evwatcher::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evio::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::again' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evtimer::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::again' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::at' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evperiodic::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evsignal::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evchild::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::attr' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::prev' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::stat' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evstat::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evidle::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evcheck::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evprepare::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::set' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::sweep' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evembed::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::__construct' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::createstopped' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::start' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::stop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::clear' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::invoke' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::feed' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::getloop' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::keepalive' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='evfork::setcallback' from='PECL ev >= 0.2.0 (beta)'/>
|
||||
<function name='ev::supportedbackends' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::recommendedbackends' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::embeddablebackends' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::sleep' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::time' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::feedsignal' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::run' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::now' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::iteration' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::depth' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::verify' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::backend' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::nowupdate' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::suspend' from='PECL ev >= 0.2.0'/>
|
||||
<function name='ev::resume' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::defaultloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::loopfork' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::verify' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::invokepending' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::nowupdate' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::suspend' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::resume' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::backend' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::now' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::run' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::feedsignalevent' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::io' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::timer' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::periodic' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::signal' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::child' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::stat' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::idle' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::check' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::prepare' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::embed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evloop::fork' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evwatcher::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evio::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::again' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evtimer::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::again' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::at' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evperiodic::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evsignal::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evchild::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::attr' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::prev' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::stat' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evstat::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evidle::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evcheck::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evprepare::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::set' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::sweep' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evembed::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::__construct' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::createstopped' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::start' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::stop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::clear' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::invoke' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::feed' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::getloop' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::keepalive' from='PECL ev >= 0.2.0'/>
|
||||
<function name='evfork::setcallback' from='PECL ev >= 0.2.0'/>
|
||||
</versions>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
|
Loading…
Reference in a new issue