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

NUME

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

BIBLIOTECA

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

SINOPSIS

       #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-IEȘIRE

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

ISTORIC

       POSIX.1-2001.

       Î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   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                                        sem_init(3)