Man page - sem_open(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

sem_open

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

NUME

sem_open - inițializează și deschide un semafor numit

BIBLIOTECA

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

SINOPSIS

#include <fcntl.h> /* Pentru constantele O_* */
#include <sys/stat.h>
/* Pentru constantele de mod */
#include <semaphore.h>

sem_t *sem_open(const char * nume , int oflag );
sem_t *sem_open(const char *
nume , int oflag ,
mode_t
mod , unsigned int valoare );

DESCRIERE

sem_open () creează un nou semafor POSIX sau deschide un semafor existent. Semaforul este identificat prin nume . Pentru detalii privind construcția lui nume , a se vedea sem_overview (7).

Argumentul oflag specifică indicatori care controlează funcționarea apelului (definițiile valorilor fanioanelor pot fi obținute prin includerea <fcntl.h> ). Dacă O_CREAT este specificat în oflag , atunci se creează semaforul, dacă nu există deja. Proprietarul (ID-ul de utilizator) al semaforului este stabilit la ID-ul de utilizator efectiv al procesului apelant. Proprietarul grupului (ID de grup) este stabilit la ID-ul efectiv de grup al procesului apelant. În cazul în care atât O_CREAT , cât și O_EXCL sunt specificate în oflag , atunci se trimite o eroare dacă există deja un semafor cu numele dat.

Dacă O_CREAT este specificat în oflag , atunci trebuie furnizate două argumente suplimentare. Argumentul mod specifică permisiunile care trebuie să fie plasate pe noul semafor, ca pentru open (2) (definițiile simbolice pentru biții de permisiune pot fi obținute prin includerea <sys/stat.h> ). Valorile de configurare a permisiunilor sunt mascate față de „umask” al procesului. Trebuie acordate atât permisiuni de citire, cât și de scriere pentru fiecare clasă de utilizator care va accesa semaforul. Argumentul valoare specifică valoarea inițială pentru noul semafor. Dacă se specifică O_CREAT și există deja un semafor cu numele dat, atunci mod și valoare sunt ignorate.

VALOAREA RETURNATĂ

În caz de succes, sem_open () returnează adresa noului semafor; această adresă este utilizată la apelarea altor funcții legate de semafoare. În caz de eroare, sem_open () returnează SEM_FAILED , cu errno configurată pentru a indica eroarea.

ERORI-IEȘIRE

EACCES

Semaforul există, dar apelantul nu are permisiunea de a-l deschide.

EEXIST

Atât O_CREAT , cât și O_EXCL au fost specificate în oflag , dar un semafor cu acest nume există deja.

EINVAL

valoarea a fost mai mare decât SEM_VALOARE_MAX .

EINVAL

nume este format doar din „/”, urmată de niciun alt caracter.

EMFILE

Limita per proces a numărului de descriptori de fișiere deschise a fost atinsă.

ENAMETOOLONG

nume era prea lung.

ENFILE

Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă.

ENOENT

Fanionul O_CREAT nu a fost specificat în oflag și nu există niciun semafor cu acest nume ; sau, O_CREAT a fost specificat, dar nume nu a fost bine format.

ENOMEM

Memorie insuficientă.

ATRIBUTE

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

Image grohtml-665618-1.png

STANDARDE

POSIX.1-2008.

ISTORIC

POSIX.1-2001.

CONSULTAȚI ȘI

sem_close (3), sem_getvalue (3), sem_post (3), sem_unlink (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 .