Man page - ftrylockfile(3)

Packages contains this manual

Available languages:

en fr es pl ja ru ro

Manual

flockfile

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ERORI-IEȘIRE
ATRIBUTE
STANDARDE
ISTORIC
CONSULTAȚI ȘI
TRADUCERE

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).

Image grohtml-667554-1.png

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 .