.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2001 Andries Brouwer . .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH flockfile 3 "2 mai 2024" "Pagini de manual de Linux 6.8" .SH NUME flockfile, ftrylockfile, funlockfile, funlockfile \- blochează un FIȘIER pentru stdio (intrarea/ieșirea standard) .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBvoid flockfile(FIȘIER *\fP\fIfilehandle\fP\fB);\fP \fBint ftrylockfile(FIȘIER *\fP\fIfilehandle\fP\fB);\fP \fBvoid funlockfile(FIȘIER *\fP\fIfilehandle\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P Toate funcțiile prezentate mai sus: .nf /* Începând cu glibc 2.24: */ _POSIX_C_SOURCE >= 199309L || /* Versiunile de glibc <= 2.23: */ _POSIX_C_SOURCE || /* Versiunile de glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH DESCRIERE Funcțiile stdio sunt sigure pentru fire de execuție. Acest lucru se realizează prin atribuirea la fiecare obiect \fIFIȘIER\fP a unui număr de blocare și (dacă numărul de blocare este diferit de zero) a unui fir proprietar. Pentru fiecare apel la bibliotecă, aceste funcții așteaptă până când obiectul \fIFIȘIER\fP nu mai este blocat de un alt fir de execuție, apoi îl blochează, efectuează In/Ieș solicitată și deblochează din nou obiectul. .P Notă: această blocare nu are nimic de\-a face cu blocarea fișierelor efectuată de funcții precum \fBflock\fP(2) și \fBlockf\fP(3). .P Toate acestea sunt invizibile pentru programatorul C, dar pot exista două motive pentru a dori un control mai detaliat. Pe de o parte, poate că o serie de acțiuni de intrare/ieșire efectuate de un fir de execuție se potrivesc și nu ar trebui să fie întrerupte de intrarea/ieșirea unui alt fir de execuție. Pe de altă parte, poate că, pentru o mai mare eficiență, ar trebui evitat blocajul. .P În acest scop, un fir de execuție poate bloca în mod explicit obiectul \fIFIȘIER\fP, apoi poate efectua o serie de acțiuni de intrare/ieșire, după care poate fi deblocat. Acest lucru împiedică alte fire să intervină între ele. Dacă motivul pentru care se procedează astfel ar fi acela de a obține o mai mare eficiență, se face In/Ieș cu versiunile fără blocare ale funcțiilor stdio: cu \fBgetc_unlocked\fP(3) și \fBputc_unlocked\fP(3) în loc de \fBgetc\fP(3) și \fBputc\fP(3). .P Funcția \fBflockfile\fP() așteaptă ca \fI*filehandle\fP să nu mai fie blocat de un alt fir de execuție, apoi îl face pe firul curent proprietar al \fI*filehandle\fP și mărește numărul de blocare. .P Funcția \fBfunlockfile\fP() decrementează numărul de blocare. .P Funcția \fBftrylockfile\fP() este o versiune fără blocare a \fBflockfile\fP(). Aceasta nu face nimic în cazul în care un alt fir de execuție deține \fI*filehandle\fP, iar în caz contrar obține proprietatea și mărește numărul de blocare. .SH "VALOAREA RETURNATĂ" Funcția \fBftrylockfile\fP() returnează zero în caz de succes (blocarea a fost obținută) și o valoare diferită de zero în caz de eșec. .SH ERORI\-IEȘIRE Niciunul. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBflockfile\fP(), \fBftrylockfile\fP(), \fBfunlockfile\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .P Aceste funcții sunt disponibile atunci când este definită \fB_POSIX_THREAD_SAFE_FUNCTIONS\fP. .SH "CONSULTAȚI ȘI" \fBunlocked_stdio\fP(3) .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 .