From 783e7b4bce182ceabf454a2c8e751fee2ea59cb2 Mon Sep 17 00:00:00 2001 From: Mikhail Alferov Date: Wed, 25 Jun 2025 16:38:40 +0300 Subject: [PATCH] Update pcntl-signal.xml to en --- reference/pcntl/functions/pcntl-signal.xml | 89 +++++++++++++--------- 1 file changed, 51 insertions(+), 38 deletions(-) diff --git a/reference/pcntl/functions/pcntl-signal.xml b/reference/pcntl/functions/pcntl-signal.xml index 41e6dd78b..083d995e4 100644 --- a/reference/pcntl/functions/pcntl-signal.xml +++ b/reference/pcntl/functions/pcntl-signal.xml @@ -1,10 +1,10 @@ - + - + pcntl_signal - Установка обработчика сигнала + Устанавливает обработчик сигнала @@ -16,9 +16,8 @@ boolrestart_syscalls&true; - Функция pcntl_signal устанавливает новый - обработчик сигнала или заменяет текущий обработчик сигнала, - указанный в аргументе signal. + Функция pcntl_signal устанавливает новый или заменяет текущий + обработчик сигнала signal. @@ -38,15 +37,14 @@ handler - Обработчик сигнала. Это может быть или callable, - указатель на функцию, которая будет запущена для обработки сигнала, - или значение одной из глобальных констант: - SIG_IGN или SIG_DFL, - которые, соответственно, либо приведут к игнорированию сигнала, - либо восстановлению обработчика по умолчанию. + Обработчик сигнала. В параметр передают или callable-выражение, + которое запустится для обработки сигнала, + или глобальную константу: + SIG_IGN для игнорирования сигнала + или SIG_DFL для восстановления обработчика по умолчанию. - Если передан тип callable, он должен иметь следующую сигнатуру: + Для аргумента с псевдотипом callable определяют следующую сигнатуру: @@ -67,8 +65,8 @@ siginfo - Если операционная система поддерживает структуры siginfo_t, - можно передать массив c информацией о сигнале соответствующей структуры. + При поддержке структур siginfo_t операционной системой + в аргумент поступит массив со специфичной для сигнала информацией. @@ -76,10 +74,9 @@ - Обратите внимание, что когда вы задаёте в качестве обработчика метод объекта, - счётчик ссылок на данный объект будет увеличен на единицу, что сохранит его в памяти - до тех пор, пока вы либо не смените обработчик на что-то другое, либо до тех пор - пока скрипт полностью не завершит свою работу. + Обратите внимание, при установке метода объекта как обработчика + счётчик ссылок на такой объект увеличится на единицу, что сохранит объект в памяти + либо до замены обработчика, либо пока скрипт не завершит работу. @@ -88,7 +85,7 @@ restart_syscalls - Определяет, должен ли использоваться перезапуск системного вызова + Параметр определяет, перезапускать ли системный вызов при поступлении сигнала. @@ -119,12 +116,11 @@ 7.1.0 - Начиная с PHP 7.1.0 обработчику callback-функции передаётся второй аргумент, - содержащий структуру siginfo определённого сигнала. Эти данные будут - переданы только в том случае, если операционная система поддерживает - структуры siginfo_t. - Если в операционной системе не реализована поддержка структуры siginfo_t, - то в качестве второго аргумента будет передан NULL. + Начиная с PHP 7.1.0 callback-функции обработчика передаётся второй аргумент, + который содержит структуру siginfo с со специфичной информацией о сигнале. + Эти данные передаются, только если операционная система поддерживает + структуры siginfo_t, а если в ОС не реализовали поддержку структур siginfo_t, + передаётся значение NULL. @@ -137,24 +133,23 @@ &reftitle.examples; - Пример использования <function>pcntl_signal</function> + Пример установки обработчика сигнала функцией <function>pcntl_signal</function> &reftitle.notes; - pcntl_signal не собирает обработчики сигналов в стек, а заменяет их. + Функция pcntl_signal не накапливает вызовы обработчиков сигналов в стек, а заменяет текущий. + + Методы диспетчеризации + + В модуле доступны следующие способы диспетчеризации обработчиков сигналов: + + Асинхронная обработка, которую включает функция pcntl_async_signals. Это рекомендуемый метод + Настройка частоты тиков + Ручная диспетчеризация функцией pcntl_signal_dispatch + + + + При асинхронной диспетчеризации сигналов или выполнении на основе тиков блокирующие функции наподобие + sleep иногда прерываются. + + &reftitle.seealso; + Страница Signal (IPC) на сайте Wikipedia + pcntl_async_signals pcntl_fork + pcntl_signal_dispatch pcntl_waitpid