.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2005 Michael Kerrisk .\" based on earlier work by faith@cs.unc.edu and .\" Mike Battersby .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sigprocmask 2 "30 martie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME sigprocmask, rt_sigprocmask, rt_sigprocmask \- examinează și modifică semnalele blocate .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT \fB#include \fP .PP .nf /* Prototip pentru funcția de învăluire glibc */ \fBint sigprocmask(int \fP\fIhow\fP\fB, const sigset_t *_Nullable restrict \fP\fIset\fP\fB,\fP \fB sigset_t *_Nullable restrict \fP\fIoldset\fP\fB);\fP .PP \fB#include \fP /* Definiția constantelor \fBSIG_*\fP */ \fB#include \fP /* Definiția constantelor \fBSYS_*\fP */ \fB#include \fP .PP /* Prototip pentru apelul de sistem subiacent */ \fBint syscall(SYS_rt_sigprocmask, int \fP\fIhow\fP\fB,\fP \fB const kernel_sigset_t *_Nullable \fP\fIset\fP\fB,\fP \fB kernel_sigset_t *_Nullable \fP\fIoldset\fP\fB,\fP \fB size_t \fP\fIsigsetsize\fP\fB);\fP .PP /* Prototip pentru apelul de sistem vechi */ \fB[[depreciat]] int syscall(SYS_sigprocmask, int \fP\fIhow\fP\fB,\fP \fB const old_kernel_sigset_t *_Nullable \fP\fIset\fP\fB,\fP \fB old_kernel_sigset_t *_Nullable \fP\fIoldset\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBsigprocmask\fP(): .nf _POSIX_C_SOURCE .fi .SH DESCRIERE \fBsigprocmask\fP() este utilizat pentru a prelua și/sau modifica masca de semnal a firului apelant. Masca de semnal este setul de semnale a căror livrare este blocată în prezent pentru apelant (a se vedea, de asemenea, \fBsignal\fP(7) pentru mai multe detalii). .PP Comportamentul apelului depinde de valoarea lui \fIhow\fP, după cum urmează. .TP \fBSIG_BLOCK\fP Setul de semnale blocate este uniunea dintre setul curent și argumentul \fIset\fP. .TP \fBSIG_UNBLOCK\fP Semnalele din \fIset\fP sunt eliminate din setul curent de semnale blocate. Este permisă încercarea de deblocare a unui semnal care nu este blocat. .TP \fBSIG_SETMASK\fP Setul de semnale blocate este stabilit la argumentul \fIset\fP. .PP Dacă \fIoldset\fP nu este NULL, valoarea anterioară a măștii de semnal este stocată în \fIoldset\fP. .PP Dacă \fIset\fP este NULL, atunci masca de semnal este neschimbată (adică \fIhow\fP este ignorat), dar valoarea curentă a măștii de semnal este totuși returnată în \fIoldset\fP (dacă nu este NULL). .PP Un set de funcții pentru modificarea și inspectarea variabilelor de tip \fIsigset_t\fP („seturi de semnale”) este descris în \fBsigsetops\fP(3). .PP Utilizarea lui \fBsigprocmask\fP() este nespecificată într\-un proces cu mai multe fire; a se vedea \fBpthread_sigmask\fP(3). .SH "VALOAREA RETURNATĂ" \fBsigprocmask\fP() returnează 0 în caz de succes. În caz de eșec, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEFAULT\fP Argumentul \fIset\fP sau \fIoldset\fP indică în afara spațiului de adrese alocat procesului. .TP \fBEINVAL\fP Fie valoarea specificată în \fIhow\fP nu a fost validă, fie nucleul nu suportă dimensiunea transmisă în \fIsigsetsize.\fP .SH VERSIUNI .SS "Diferențe între biblioteca C și nucleu" Definiția nucleului pentru \fIsigset_t\fP diferă în ceea ce privește dimensiunea față de cea utilizată de biblioteca C. În această pagină de manual, prima este denumită \fIkernel_sigset_t\fP (este cu toate acestea denumită \fIsigset_t\fP în sursele nucleului). .PP Funcția glibc pentru \fBsigprocmask\fP() ignoră în tăcere încercările de a bloca cele două semnale în timp real care sunt utilizate în mod intern de către implementarea NPTL threading. A se vedea \fBnptl\fP(7) pentru detalii. .PP .\" sizeof(kernel_sigset_t) == _NSIG / 8, .\" which equals to 8 on most architectures, but e.g. on MIPS it's 16. Apelul original al sistemului Linux a fost numit \fBsigprocmask\fP(). Cu toate acestea, odată cu adăugarea semnalelor în timp real în Linux 2.2, tipul de dimensiune fixă, pe 32 de biți \fIsigset_t\fP (denumit \fIold_kernel_sigset_t\fP în această pagină de manual), acceptat de acest apel de sistem, nu mai era adecvat scopului. În consecință, a fost adăugat un nou apel de sistem, \fBrt_sigprocmask\fP(), pentru a permite acceptarea unui tip \fIsigset_t\fP mărit (denumit \fIkernel_sigset_t\fP în această pagină de manual). Noul apel de sistem primește un al patrulea argument, \fIsize_t sigsetsize\fP, care specifică dimensiunea în octeți a seturilor de semnale din \fIset\fP și \fIoldset\fP. În prezent, se cere ca acest argument să aibă o valoare fixă specifică arhitecturii (egală cu \fIsizeof(kernel_sigset_t)\fP). .PP .\" Funcția de învăluire glibc \fBsigprocmask\fP() ascunde aceste detalii de noi, apelând în mod transparent \fBrt_sigprocmask\fP() atunci când nucleul o furnizează. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH NOTE Nu este posibil să se blocheze \fBSIGKILL\fP sau \fBSIGSTOP\fP. Încercările de a face acest lucru sunt ignorate în tăcere. .PP Fiecare dintre firele de execuție dintr\-un proces are propria mască de semnal. .PP Un copil creat prin \fBfork\fP(2) moștenește o copie a măștii de semnal a părintelui său; masca de semnal este păstrată în \fBexecve\fP(2). .PP Dacă \fBSIGBUS\fP, \fBSIGFPE\fP, \fBSIGILL\fP sau \fBSIGSEGV\fP sunt generate în timp ce sunt blocate, rezultatul este nedefinit, cu excepția cazului în care semnalul a fost generat de \fBkill\fP(2), \fBsigqueue\fP(3) sau \fBraise\fP(3). .PP A se vedea \fBsigsetops\fP(3) pentru detalii privind manipularea seturilor de semnale. .PP Rețineți că este permisă (deși nu este foarte utilă) specificarea atât a lui \fIset\fP, cât și a lui \fIoldset\fP ca fiind NULL. .SH "CONSULTAȚI ȘI" \fBkill\fP(2), \fBpause\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigpending\fP(2), \fBsigsuspend\fP(2), \fBpthread_sigmask\fP(3), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsignal\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .