sem_init(3) Library Functions Manual sem_init(3) NUME sem_init - iniializeaza un semafor fara nume BIBLIOTECA Biblioteca de fire de execuie POSIX (libpthread, -lpthread) SINOPSIS #include int sem_init(sem_t *sem, int pshared, unsigned int value); DESCRIERE sem_init() iniializeaza semaforul fara nume la adresa indicata de sem. Argumentul valoare specifica valoarea iniiala a semaforului. Argumentul pshared indica daca acest semafor trebuie sa fie partajat intre firele unui proces sau intre procese. Daca pshared are valoarea 0, atunci semaforul este partajat intre firele de execuie ale unui proces i ar trebui sa fie localizat la o adresa care este vizibila pentru toate firele de execuie (de exemplu, o variabila globala sau o variabila alocata dinamic in gramada ,,heap"). Daca pshared este diferit de zero, atunci semaforul este partajat intre procese i ar trebui sa fie localizat intr-o regiune de memorie partajata (a se vedea shm_open(3), mmap(2) i shmget(2)). (Deoarece un copil creat prin fork(2) motenete corespondenele de memorie ale parintelui sau, acesta poate, de asemenea, sa acceseze semaforul). Orice proces care poate accesa regiunea de memorie partajata poate opera asupra semaforului folosind sem_post(3), sem_wait(3) i aa mai departe. Iniializarea unui semafor care a fost deja iniializat are ca rezultat un comportament nedefinit. VALOAREA RETURNATA sem_init() returneaza 0 in caz de succes; in caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EINVAL value depaete SEM_VALUE_MAX. ENOSYS pshared este diferit de zero, dar sistemul nu accepta semafoare partajate de procese (a se vedea sem_overview(7)). ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |sem_init() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. In mod ciudat, POSIX.1-2001 nu specifica valoarea care ar trebui returnata in cazul unui apel reuit la sem_init(). POSIX.1-2008 rectifica acest lucru, specificand returnarea zero in caz de succes. EXEMPLE A se vedea shm_open(3) i sem_wait(3). CONSULTAI I sem_destroy(3), sem_post(3), sem_wait(3), sem_overview(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.8 2 mai 2024 sem_init(3)