1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/reference/ev/evsignal.xml
2026-01-18 22:20:57 +00:00

114 lines
5.2 KiB
XML
Raw Permalink 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: b4fbf4434abeca44c58575ff3967e5640f7877d5 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.evsignal" role="class">
<title>Класс EvSignal</title>
<titleabbrev>EvSignal</titleabbrev>
<partintro>
<!-- {{{ EvSignal intro -->
<section xml:id="evsignal.intro">
&reftitle.intro;
<simpara>
Наблюдатель <classname>EvSignal</classname> создаёт событие когда
процесс получает один или несколько конкретных сигналов. Так как сигналы
приходят асинхронно, <emphasis>libev</emphasis> старается с этим бороться
и доставлять их синхронно, т.е аналогично всем остальным событиям в нормальном
режиме обработки.
</simpara>
<simpara>
Ограничений на количество наблюдателей за одним и тем же сигналом нет, но
только в пределах одного событийного цикла. Например, в цикле по умолчанию
работает наблюдатель за <constant>SIGINT</constant>, а в другом цикле
наблюдатель за <constant>SIGIO</constant>, но при этом нельзя
наблюдать за <constant>SIGINT</constant> в двух циклах сразу. Ну и за
<constant>SIGCHLD</constant> можно наблюдать только в цикле по умолчанию.
</simpara>
<simpara>
Если доступно и поддерживается, <emphasis>libev</emphasis>
устанавливает свои обработчики с разрешённым поведением
<literal>SA_RESTART</literal> (или аналогом), поэтому системные вызовы
не будут некорректно прерываться. Если будут возникать проблемы с прерыванием
системных вызовов сигналами, все сигналы можно блокировать в
наблюдателе <classname>EvCheck</classname> и разблокировать в
наблюдателе <classname>EvPrepare</classname>.
</simpara>
</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>
<simpara>
Номер сигнала. Смотрите константы, экспортированные модулем <emphasis>pcntl</emphasis>.
Также смотрите страницу руководства <literal>signal(7)</literal>.
</simpara>
</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
-->