Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions reference/pcntl/functions/pcntl-signal-dispatch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 782d62b55a004129d4a84b5d00d4f6935582f806 Maintainer: lacatoire Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pcntl-signal-dispatch" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pcntl_signal_dispatch</refname>
<refpurpose>Ruft die Signal-Handler für ausstehende Signale auf</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>pcntl_signal_dispatch</methodname>
<void/>
</methodsynopsis>
<para>
Die Funktion <function>pcntl_signal_dispatch</function> ruft für jedes
ausstehende Signal die mit <function>pcntl_signal</function> installierten
Signal-Handler auf.
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>pcntl_signal_dispatch</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
echo "Installing signal handler...\n";
pcntl_signal(SIGHUP, function($signo) {
echo "signal handler called\n";
});

echo "Generating signal SIGHUP to self...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Dispatching...\n";
pcntl_signal_dispatch();

echo "Done\n";

?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Installing signal handler...
Generating signal SIGHUP to self...
Dispatching...
signal handler called
Done
]]>
</screen>
</example>
</para>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pcntl_signal</function></member>
<member><function>pcntl_sigprocmask</function></member>
<member><function>pcntl_sigwaitinfo</function></member>
<member><function>pcntl_sigtimedwait</function></member>
</simplelist>
</para>
</refsect1>

</refentry>

<!-- 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
-->
121 changes: 121 additions & 0 deletions reference/pcntl/functions/pcntl-signal-get-handler.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b890f28c0c6d2856eadcdc34b3faf83a846b3d79 Maintainer: lacatoire Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pcntl-signal-get-handler" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>pcntl_signal_get_handler</refname>
<refpurpose>Gibt den aktuellen Handler für das angegebene Signal zurück</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>callable</type><type>int</type></type><methodname>pcntl_signal_get_handler</methodname>
<methodparam><type>int</type><parameter>signal</parameter></methodparam>
</methodsynopsis>
<para>
Die Funktion <function>pcntl_signal_get_handler</function> ermittelt den
aktuellen Handler für das angegebene <parameter>signal</parameter>.
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>signal</parameter></term>
<listitem>
<para>
Die Signalnummer.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Diese Funktion kann einen Integer-Wert zurückgeben, der sich auf
<constant>SIG_DFL</constant> oder <constant>SIG_IGN</constant> bezieht.
Wurde ein eigener Handler gesetzt, wird dieser <type>callable</type>
zurückgegeben.
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.1.0</entry>
<entry>
<function>pcntl_signal_get_handler</function> wurde hinzugefügt.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1><!-- }}} -->

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>pcntl_signal_get_handler</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Ausgabe: int(0)

function pcntl_test($signo) {}
pcntl_signal(SIGUSR1, 'pcntl_test');
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Ausgabe: string(10) "pcntl_test"

pcntl_signal(SIGUSR1, SIG_DFL);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Ausgabe: int(0)

pcntl_signal(SIGUSR1, SIG_IGN);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Ausgabe: int(1)
?>
]]>
</programlisting>
</example>
</para>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>pcntl_signal</function></member>
</simplelist>
</refsect1>

</refentry>
<!-- 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
-->
168 changes: 168 additions & 0 deletions reference/pcntl/functions/pcntl-sigprocmask.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7bc131d65540e2a0f706cf4d99b5a3235c965fdb Maintainer: lacatoire Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pcntl-sigprocmask" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pcntl_sigprocmask</refname>
<refpurpose>Setzt und ermittelt blockierte Signale</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>pcntl_sigprocmask</methodname>
<methodparam><type>int</type><parameter>mode</parameter></methodparam>
<methodparam><type>array</type><parameter>signals</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter role="reference">old_signals</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Die Funktion <function>pcntl_sigprocmask</function> fügt blockierte Signale
hinzu, entfernt sie oder setzt sie, abhängig vom Parameter
<parameter>mode</parameter>.
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
Legt das Verhalten von <function>pcntl_sigprocmask</function> fest.
Mögliche Werte:
<simplelist>
<member><constant>SIG_BLOCK</constant>: Die Signale zu den aktuell
blockierten Signalen hinzufügen.</member>
<member><constant>SIG_UNBLOCK</constant>: Die Signale aus den aktuell
blockierten Signalen entfernen.</member>
<member><constant>SIG_SETMASK</constant>: Die aktuell blockierten
Signale durch die angegebene Liste von Signalen ersetzen.</member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>signals</parameter></term>
<listitem>
<para>
Liste von Signalen.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>old_signals</parameter></term>
<listitem>
<para>
Der Parameter <parameter>old_signals</parameter> wird auf ein Array
gesetzt, das die Liste der zuvor blockierten Signale enthält.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Es wird ein <classname>ValueError</classname> geworfen, wenn
<parameter>signal</parameter> leer ist.
</entry>
</row>
<row>
<entry>8.4.0</entry>
<entry>
Es wird ein <classname>TypeError</classname> geworfen, wenn der Wert
von <parameter>signal</parameter> kein <type>int</type> ist.
</entry>
</row>
<row>
<entry>8.4.0</entry>
<entry>
Es wird ein <classname>ValueError</classname> geworfen, wenn der Wert
von <parameter>signal</parameter> ungültig ist.
</entry>
</row>
<row>
<entry>8.4.0</entry>
<entry>
Es wird ein <classname>ValueError</classname> geworfen, wenn der Wert
von <parameter>mode</parameter> nicht <constant>SIG_BLOCK</constant>,
<constant>SIG_UNBLOCK</constant> oder <constant>SIG_SETMASK</constant>
ist.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>pcntl_sigprocmask</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pcntl_sigwaitinfo</function></member>
<member><function>pcntl_sigtimedwait</function></member>
</simplelist>
</para>
</refsect1>

</refentry>
<!-- 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
-->
Loading
Loading