Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       flockfile,  ftrylockfile,  funlockfile,  funlockfile - blochează un FIȘIER pentru stdio (intrarea/ieșirea
       standard)

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdio.h>

       void flockfile(FIȘIER *filehandle);
       int ftrylockfile(FIȘIER *filehandle);
       void funlockfile(FIȘIER *filehandle);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       Toate funcțiile prezentate mai sus:
           /* Î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

DESCRIERE

       Funcțiile stdio sunt sigure pentru fire de execuție.   Acest  lucru  se  realizează  prin  atribuirea  la
       fiecare  obiect  FIȘIER  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 FIȘIER  nu
       mai este blocat de un alt fir de execuție, apoi îl blochează, efectuează In/Ieș solicitată și deblochează
       din nou obiectul.

       Notă:  această blocare nu are nimic de-a face cu blocarea fișierelor efectuată de funcții precum flock(2)
       și lockf(3).

       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.

       În acest scop, un fir de execuție poate bloca în mod explicit obiectul FIȘIER, 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 getc_unlocked(3) și putc_unlocked(3)
       în loc de getc(3) și putc(3).

       Funcția flockfile() așteaptă ca *filehandle să nu mai fie blocat de un alt fir de execuție, apoi îl  face
       pe firul curent proprietar al *filehandle și mărește numărul de blocare.

       Funcția funlockfile() decrementează numărul de blocare.

       Funcția  ftrylockfile()  este  o  versiune fără blocare a flockfile().  Aceasta nu face nimic în cazul în
       care un alt fir de execuție deține *filehandle, iar în caz contrar obține proprietatea și mărește numărul
       de blocare.

VALOAREA RETURNATĂ

       Funcția ftrylockfile() returnează zero în caz de succes (blocarea a fost obținută) și o valoare  diferită
       de zero în caz de eșec.

ERORI-IEȘIRE

       Niciunul.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ flockfile(), ftrylockfile(), funlockfile()                              │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2008.

ISTORIC

       POSIX.1-2001.

       Aceste funcții sunt disponibile atunci când este definită _POSIX_THREAD_SAFE_FUNCTIONS.

CONSULTAȚI ȘI

       unlocked_stdio(3)

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                       flockfile(3)