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

NUME

       lockf - aplică, testează sau elimină o blocare POSIX pe un fișier deschis

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <unistd.h>

       int lockf(int fd, int op, off_t len);

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

       lockf():
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIERE

       Aplică,  testează  sau  elimină  un  blocaj  POSIX  pe  o  secțiune  a unui fișier deschis. Fișierul este
       specificat prin fd, un descriptor de fișier deschis pentru scriere, acțiunea prin op, iar secțiunea  este
       formată  din  pozițiile  de  octeți  pos..pos+len-1 dacă len este pozitiv și pos-len. pos-1 dacă len este
       negativ, unde pos este poziția curentă a fișierului, iar dacă len este zero, secțiunea se extinde  de  la
       poziția  curentă  a  fișierului  până la infinit, cuprinzând pozițiile prezente și viitoare de sfârșit de
       fișier. În toate cazurile, secțiunea se poate extinde dincolo de sfârșitul curent al fișierului.

       În Linux, lockf() este doar o interfață  peste  blocarea  fcntl(2).   Multe  alte  sisteme  implementează
       lockf()  în  acest  mod,  dar  rețineți că POSIX.1 lasă nespecificată relația dintre blocările lockf() și
       fcntl(2). O aplicație portabilă ar trebui probabil să evite amestecarea apelurilor la aceste interfețe.

       Operațiile valide sunt prezentate mai jos:

       F_LOCK Stabilește o blocare exclusivă pe secțiunea specificată a fișierului. Dacă această secțiune (sau o
              parte a acesteia) este deja blocată, apelul se blochează până la eliberarea  blocării  anterioare.
              În  cazul  în  care  această  secțiune se suprapune peste o secțiune blocată anterior, ambele sunt
              fuzionate. Blocajele de fișier sunt eliberate imediat ce procesul care deține blocajele închide un
              descriptor de fișier pentru acest fișier. Un proces copil nu moștenește aceste blocaje.

       F_TLOCK
              Același lucru ca F_LOCK, dar apelul nu se blochează niciodată și returnează o eroare dacă fișierul
              este deja blocat.

       F_ULOCK
              Deblochează secțiunea indicată din fișier.  Acest lucru poate face ca o secțiune  blocată  să  fie
              împărțită în două secțiuni blocate.

       F_TEST Testează  blocarea:  returnează  0  dacă secțiunea specificată este deblocată sau blocată de acest
              proces; returnează -1, stabilește errno la EAGAIN (EACCES pe alte sisteme),  dacă  un  alt  proces
              deține o blocare.

VALOAREA RETURNATĂ

       În  caz  de  succes,  se  returnează zero. În caz de eroare, se returnează -1, iar errno este configurată
       pentru a indica eroarea.

ERORI-IEȘIRE

       EACCES sau EAGAIN
              Fișierul este blocat și a fost specificat F_TLOCK sau F_TEST, sau operația este interzisă deoarece
              fișierul a fost plasat în memorie de un alt proces.

       EBADF  fd nu este un descriptor de fișier deschis; sau op este F_LOCK  sau  F_TLOCK  și  fd  nu  este  un
              descriptor de fișier inscriptibil.

       EDEADLK
              op (operația) a fost F_LOCK și această operație de blocare ar fi provocat un blocaj.

       EINTR  În  timp  ce aștepta să obțină un blocaj, apelul a fost întrerupt de livrarea unui semnal capturat
              de un gestionar; a se vedea signal(7).

       EINVAL A fost specificată o operație nevalidă în op.

       ENOLCK Prea multe blocări de segment deschise, tabelul de blocare este plin.

ATRIBUTE

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

STANDARDE

       POSIX.1-2008.

ISTORIC

       POSIX.1-2001, SVr4.

CONSULTAȚI ȘI

       fcntl(2), flock(2)

       locks.txt și mandatory-locking.txt în directorul sursă al nucleului Linux  Documentation/filesystems  (pe
       nucleele mai vechi, aceste fișiere se află direct sub directorul Documentation, iar mandatory-locking.txt
       se numește mandatory.txt).

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                                           lockf(3)