Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       pthread_kill - посылает сигнал в нить

LIBRARY

       POSIX threads library (libpthread, -lpthread)

СИНТАКСИС

       #include <signal.h>

       int pthread_kill(pthread_t thread, int sig);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       pthread_kill():
           _POSIX_C_SOURCE >= 199506L || _XOPEN_SOURCE >= 500

ОПИСАНИЕ

       Функция  pthread_kill()  посылает  сигнал  sig  в thread — нить из того же процесса, что и
       вызвавший функцию. Сигнал доставляется thread асинхронно.

       Если sig равно 0, то сигнал не посылается, но выполняется проверка на ошибки.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении pthread_kill()  возвращается  0;  при  ошибке  возвращается  номер
       ошибки и сигнал не посылается.

ОШИБКИ

       EINVAL Указан некорректный сигнал.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │pthread_kill()                                         │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

       Область  действия  сигнала — весь процесс: если установлен обработчик сигнала, то он будет
       вызван в нити thread, но если этот сигнал  «stop»,  «continue»  или  «terminate»,  то  это
       действие повлияет на весь процесс.

       Реализация  sigaction()  в  glibc  выдаёт  ошибку  (EINVAL)  при  попытке  послать сигналы
       реального времени, которые используются внутри реализации  NPTL.  Подробности  смотрите  в
       nptl(7).

       В POSIX.1-2008 рекомендуется, что если реализация обнаруживает использование ID нити после
       её срока жизни,  то  pthread_kill()  должна  возвращать  ошибку  ESRCH.  Реализация  glibc
       возвращает  эту  ошибку  в  случае,  когда  обнаруживается  некорректный ID нити. Но также
       заметим, что в POSIX говорится, что попытка использовать  ID  нити  с  завершённым  сроком
       жизни приводит к непредсказуемому поведению, и попытка использовать некорректный ID нити в
       вызове pthread_kill() может приводить, например, к ошибке сегментирования.

СМ. ТАКЖЕ

       kill(2),  sigaction(2),  sigpending(2),  pthread_self(3),  pthread_sigmask(3),   raise(3),
       pthreads(7), signal(7)

ПЕРЕВОД

       Русский   перевод   этой   страницы   руководства   был  сделан  Alexey,  Azamat  Hackimov
       <azamat.hackimov@gmail.com>,  kogamatranslator49  <r.podarov@yandex.ru>,  Kogan,  Max   Is
       <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.