From 1908af4825514ac377a77717df048871f16900c8 Mon Sep 17 00:00:00 2001 From: piccardi Date: Tue, 5 Jul 2022 11:42:45 +0200 Subject: [PATCH] Materiale rimasto indietro --- domandemanpages.txt | 6 ++++++ signal.tex | 15 +++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/domandemanpages.txt b/domandemanpages.txt index a06a041..1d2bba8 100644 --- a/domandemanpages.txt +++ b/domandemanpages.txt @@ -6,3 +6,9 @@ Con readv/writev che fine ha fatto EOPNOTSUPP? tee ed il supporto per i socket ? openat e il supposto problema della race condition. + + +Con sigwait si dice che viene restituito un valore positivo in caso di errore +ma si elenca soltanto EINVAL, ma se si usa un puntatore non valido, che +succede? Prima era elencato anche EFAULT, ora no. Dal codice sembrerebbe + diff --git a/signal.tex b/signal.tex index 63a9400..b43af0a 100644 --- a/signal.tex +++ b/signal.tex @@ -2594,12 +2594,16 @@ prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{EFAULT}] si sono specificati indirizzi non validi. - \item[\errcode{EINVAL}] si è specificato un numero di segnale invalido. + \item[\errcode{EFAULT}] l'indirizzo di \param{mask} non è valido. + \item[\errcode{EINTR}] la funzione è stata interrotta da un segnale. \end{errlist} } \end{funcproto} +La funzione imposta la maschera dei segnali indicata da \param{mask} e pone in +attesa il processo. Ritorna solo con la ricezione di un segnale, con un errore +di \errval{EINTR}, a meno che il segnale non termini il processo. + Come esempio dell'uso di queste funzioni proviamo a riscrivere un'altra volta l'esempio di implementazione di \code{sleep}. Abbiamo accennato in sez.~\ref{sec:sig_sigaction} come con \func{sigaction} sia possibile bloccare @@ -3017,11 +3021,10 @@ prima di queste è \funcd{sigwait}, il cui prototipo è: \fdecl{int sigwait(const sigset\_t *set, int *sig)} \fdesc{Attende la ricezione di un segnale.} } -{La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual - caso \var{errno} assumerà uno dei valori: +{La funzione ritorna $0$ in caso di successo ed un valore positivo in caso di + errore con valore secondo la lista seguente: \begin{errlist} - \item[\errcode{EINTR}] la funzione è stata interrotta. - \item[\errcode{EINVAL}] si è specificato un valore non valido per + \item[\errcode{EINVAL}] \param{set} contiene un numero di segnale non valido \end{errlist} ed inoltre \errval{EFAULT} nel suo significato generico.} \end{funcproto} -- 2.30.2