+
+\begin{functions}
+ \headdecl{semaphore.h}
+
+ \funcdecl{sem\_t *sem_open(const char *name, int oflag)}
+
+ \funcdecl{sem\_t *sem_open(const char *name, int oflag,, mode_t mode,
+ unsigned int value)}
+
+ Crea un semaforo o ne apre uno esistente.
+
+ \bodydesc{Le funzioni restituiscono il numero di byte del messaggio in caso
+ di successo e -1 in caso di errore; nel quel caso \var{errno} assumerà i
+ valori:
+ \begin{errlist}
+ \item[\errcode{EAGAIN}] Si è aperta la coda con \const{O\_NONBLOCK}, e la
+ coda è vuota.
+ \end{errlist}
+ ed inoltre \errval{EBADF}, \errval{EINTR}, \errval{ENOMEM}, o
+ \errval{EINVAL}.}
+\end{functions}
+
+
\subsection{Memoria condivisa}
\label{sec:ipc_posix_shm}