Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       sem_init - inițializează un semafor fără nume

BIBLIOTECA

       Biblioteca de fire de execuție POSIX (libpthread, -lpthread)

REZUMAT

       #include <semaphore.h>

       int sem_init(sem_t *sem, int pshared, unsigned int value);

DESCRIERE

       sem_init()  inițializează  semaforul  fără  nume  la  adresa  indicată de sem.  Argumentul
       valoare specifică valoarea inițială a semaforului.

       Argumentul pshared indică dacă acest semafor trebuie să fie  partajat  între  firele  unui
       proces sau între procese.

       Dacă  pshared  are valoarea 0, atunci semaforul este partajat între firele de execuție ale
       unui proces și ar trebui să fie localizat la o adresă  care  este  vizibilă  pentru  toate
       firele  de  execuție  (de  exemplu, o variabilă globală sau o variabilă alocată dinamic în
       grămadă „heap”).

       Dacă pshared este diferit de zero, atunci semaforul este  partajat  între  procese  și  ar
       trebui  să  fie  localizat  într-o  regiune  de memorie partajată (a se vedea shm_open(3),
       mmap(2) și shmget(2)).  (Deoarece un copil creat prin fork(2)  moștenește  corespondențele
       de  memorie  ale părintelui său, acesta poate, de asemenea, să acceseze semaforul).  Orice
       proces care poate accesa regiunea de memorie  partajată  poate  opera  asupra  semaforului
       folosind sem_post(3), sem_wait(3) și așa mai departe.

       Inițializarea  unui  semafor  care a fost deja inițializat are ca rezultat un comportament
       nedefinit.

VALOAREA RETURNATĂ

       sem_init() returnează 0 în caz de succes; în caz de eroare, se returnează  -1,  iar  errno
       este configurată pentru a indica eroarea.

ERORI

       EINVAL value depășește SEM_VALUE_MAX.

       ENOSYS pshared  este  diferit  de  zero,  dar  sistemul  nu acceptă semafoare partajate de
              procese (a se vedea sem_overview(7)).

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │InterfațăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │sem_init()                                                 │ Siguranța firelor │ MT-Safe │
       └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2001.

NOTE

       În mod ciudat, POSIX.1-2001 nu specifică valoarea care ar trebui returnată în  cazul  unui
       apel  reușit  la  sem_init().   POSIX.1-2008 rectifică acest lucru, specificând returnarea
       zero în caz de succes.

EXEMPLE

       A se vedea shm_open(3) și sem_wait(3).

CONSULTAȚI ȘI

       sem_destroy(3), sem_post(3), sem_wait(3), sem_overview(7)

TRADUCERE

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

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.