.\" -*- coding: UTF-8 -*- .\" Copyright 2004, Andries E. Brouwer .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH set_tid_address 2 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ set_tid_address \- устанавливает указатель идентификатора нити .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP,\ \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP /* определения констант \fBSYS_*\fP */ \fB#include \fP .P \fBpid_t syscall(SYS_set_tid_address, int *\fP\fItidptr\fP\fB);\fP .fi .P \fINote\fP: glibc provides no wrapper for \fBset_tid_address\fP(), necessitating the use of \fBsyscall\fP(2). .SH ОПИСАНИЕ В ядре для каждой нити хранится два атрибута (адреса): \fIset_child_tid\fP и \fIclear_child_tid\fP. Их значение по умолчанию равно NULL. .TP \fIset_child_tid\fP Если нить запущена с помощью \fBclone\fP(2) с флагом \fBCLONE_CHILD_SETTID\fP, то значение \fIset_child_tid\fP устанавливается равным аргументу системного вызова \fIctid\fP. .IP Если \fIset_child_tid\fP присвоено значение, то самое первое действие, которое выполняется для новой нити, это запись ID нити по этому адресу. .TP \fIclear_child_tid\fP Если нить запущена с помощью \fBclone\fP(2) с флагом \fBCLONE_CHILD_CLEARTID\fP, то значение \fIclear_child_tid\fP устанавливается равным аргументу системного вызова \fIctid\fP. .P Системный вызов \fBset_tid_address\fP() устанавливает у вызывающей нити значение \fIclear_child_tid\fP равным \fItidptr\fP. .P Если нить, чьё значение \fIclear_child_tid\fP не равно NULL, завершается и если нить использовала общую память с другими нитями, то по адресу, указанному в \fIclear_child_tid\fP, записывается 0 и ядро выполняет следующую операцию: .P .in +4n .EX futex(clear_child_tid, FUTEX_WAKE, 1, NULL, NULL, 0); .EE .in .P Действие этой операции в том, что она пробуждает единственную нить, выполнявшую ожидание futex на расположение памяти. Ошибки операции пробуждения futex игнорируются. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Вызов \fBset_tid_address\fP() всегда возвращает ID вызывающей нити. .SH ОШИБКИ Вызов \fBset_tid_address\fP() всегда завершается без ошибок. .SH СТАНДАРТЫ Linux. .SH ИСТОРИЯ Linux 2.5.48. .P Details as given here are valid since Linux 2.5.49. .SH "СМОТРИТЕ ТАКЖЕ" \fBclone\fP(2), \fBfutex\fP(2), \fBgettid\fP(2) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .