1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-27 01:08:05 +02:00
Files
archived-doc-ru/reference/ev/evsignal.xml
T
2024-06-14 17:02:33 +01:00

113 lines
5.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 33e5f4ef7243bc1282acb1cba93e8f99c1debe68 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.evsignal" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс EvSignal</title>
<titleabbrev>EvSignal</titleabbrev>
<partintro>
<!-- {{{ EvSignal intro -->
<section xml:id="evsignal.intro">
&reftitle.intro;
<para>
Наблюдатель <classname>EvSignal</classname> создаёт событие когда
процесс получает один или несколько конкретных сигналов. Так как сигналы
приходят асинхронно, <emphasis>libev</emphasis> старается с этим бороться
и доставлять их синхронно, т.е аналогично всем остальным событиям в нормальном
режиме обработки.
</para>
<para>
Ограничений на количество наблюдателей за одним и тем же сигналом нет, но
только в пределах одного событийного цикла. Например, в цикле по умолчанию
работает наблюдатель за <constant>SIGINT</constant>, а в другом цикле
наблюдатель за <constant>SIGIO</constant>, но при этом нельзя
наблюдать за <constant>SIGINT</constant> в двух циклах сразу. Ну и за
<constant>SIGCHLD</constant> можно наблюдать только в цикле по умолчанию.
</para>
<para>
Если доступно и поддерживается, <emphasis>libev</emphasis>
устанавливает свои обработчики с разрешённым поведением
<literal>SA_RESTART</literal> (или аналогом), поэтому системные вызовы
не будут некорректно прерываться. Если будут возникать проблемы с прерыванием
системных вызовов сигналами, все сигналы можно блокировать в
наблюдателе <classname>EvCheck</classname> и разблокировать в
наблюдателе <classname>EvPrepare</classname>.
</para>
</section>
<!-- }}} -->
<section xml:id="evsignal.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass>
<classname>EvSignal</classname>
</ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>EvSignal</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>EvWatcher</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
<fieldsynopsis>
<modifier>public</modifier>
<varname linkend="evsignal.props.signum">signum</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.evsignal')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])"/>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evsignal')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evwatcher')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ EvSignal properties -->
<section xml:id="evsignal.props">
&reftitle.properties;
<variablelist>
<varlistentry xml:id="evsignal.props.signum">
<term>
<varname>signum</varname>
</term>
<listitem>
<para>
Номер сигнала. Смотрите константы, экспортированные модулем <emphasis>pcntl</emphasis>.
Также смотрите страницу руководства <literal>signal(7)</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<!-- }}} -->
</partintro>
&reference.ev.entities.evsignal;
</reference><!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->