X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=7e5645de914e3c40a15e64e5a33ff522903e912b;hp=2b34ded891023126f13b8cc841b3cb6105af8fd8;hb=8fad76a42d4fdf71d9a90d425a70af66827fbf9e;hpb=3495ff8ace2c28b15ecfaece54cbda983974869b diff --git a/ipc.tex b/ipc.tex index 2b34ded..7e5645d 100644 --- a/ipc.tex +++ b/ipc.tex @@ -2971,7 +2971,7 @@ funzioni di libreria che ne semplifichino l'uso, automatizzando le operazioni più comuni; il codice, contenuto nel file \file{SharedMem.c}, è riportato in fig.~\ref{fig:ipc_sysv_shm_func}. -La prima funzione (\texttt{\small 3--16}) è \func{ShmCreate} che, data una +La prima funzione (\texttt{\small 1--16}) è \func{ShmCreate} che, data una chiave, crea il segmento di memoria condivisa restituendo il puntatore allo stesso. La funzione comincia (\texttt{\small 6}) con il chiamare \func{shmget}, usando il flag \const{IPC\_CREATE} per creare il segmento @@ -3084,7 +3084,7 @@ Il passo successivo (\texttt{\small 30--39}) è quello di creare gli oggetti di intercomunicazione necessari. Si inizia costruendo (\texttt{\small 30}) la chiave da usare come riferimento con il nome del programma,\footnote{si è usato un riferimento relativo alla home dell'utente, supposto che i sorgenti - di GaPiL siano stati installati direttamente in essa. Qualora si effettui + di GaPiL siano stati installati direttamente in essa; qualora si effettui una installazione diversa si dovrà correggere il programma.} dopo di che si richiede (\texttt{\small 31}) la creazione di un segmento di memoria condivisa con usando la funzione \func{ShmCreate} illustrata in precedenza (una pagina @@ -3981,13 +3981,12 @@ descriptor della coda, nel qual caso entrambe ritornano con un codice di errore di \errcode{EAGAIN}. La sola differenza fra le due funzioni è che \func{mq\_timedsend}, passato il -tempo massimo impostato con l'argomento \param{abs\_timeout}, ritorna comunque -con un errore di \errcode{ETIMEDOUT}, se invece il tempo è già scaduto al -momento della chiamata e la coda è piena la funzione ritorna -immediatamente. Il valore di \param{abs\_timeout} deve essere specificato come -tempo assoluto tramite una struttura \struct{timespec} (vedi -fig.~\ref{fig:sys_timespec_struct}) indicato in numero di secondi e -nanosecondi a partire dal 1 gennaio 1970. +tempo massimo impostato con l'argomento \param{abs\_timeout}, ritorna con un +errore di \errcode{ETIMEDOUT}, se invece il tempo è già scaduto al momento +della chiamata e la coda è piena la funzione ritorna immediatamente. Il valore +di \param{abs\_timeout} deve essere specificato come tempo assoluto tramite +una struttura \struct{timespec} (vedi fig.~\ref{fig:sys_timespec_struct}) +indicato in numero di secondi e nanosecondi a partire dal 1 gennaio 1970. Come per l'inserimento, anche per l'estrazione dei messaggi da una coda sono previste due funzioni di sistema, \funcd{mq\_receive} e