X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=f3a2ec75f9ad64d8adc21a1c330fdc08d5fdcf2a;hp=e22736f329cba925ff4f1fece327943831702bd0;hb=dcf2c2df897955ff3503a7c426025457ab456fd7;hpb=b3593007c4edd76ecbf7386967c1b25d27eed828 diff --git a/ipc.tex b/ipc.tex index e22736f..f3a2ec7 100644 --- a/ipc.tex +++ b/ipc.tex @@ -2193,7 +2193,7 @@ Alla creazione di un nuovo insieme viene allocata una nuova strutture \struct{semid\_ds} ed il relativo vettore di strutture \struct{sem}. Quando si richiede una operazione viene anzitutto verificato che tutte le operazioni possono avere successo; se una di esse comporta il blocco del processo il -kernel crea una struttura \struct{sem\_queue} che viene aggiunta in fondo alla +kernel crea una struttura \kstruct{sem\_queue} che viene aggiunta in fondo alla coda di attesa associata a ciascun insieme di semafori\footnote{che viene referenziata tramite i campi \var{sem\_pending} e \var{sem\_pending\_last} di \struct{semid\_ds}.}. @@ -2213,7 +2213,7 @@ all'operazione (\var{sleeper}) viene riportato a \textit{running}; il tutto viene ripetuto fin quando non ci sono più operazioni eseguibili o si è svuotata la coda. Per gestire il meccanismo del ripristino tutte le volte che per un'operazione si è specificato il flag \const{SEM\_UNDO} viene mantenuta -per ciascun insieme di semafori una apposita struttura \struct{sem\_undo} che +per ciascun insieme di semafori una apposita struttura \kstruct{sem\_undo} che contiene (nel vettore puntato dal campo \var{semadj}) un valore di aggiustamento per ogni semaforo cui viene sommato l'opposto del valore usato per l'operazione. @@ -2224,7 +2224,7 @@ all'insieme di cui fa parte il semaforo, che viene usata per invalidare le strutture se questo viene cancellato o per azzerarle se si è eseguita una operazione con \func{semctl}; l'altra associata al processo che ha eseguito l'operazione;\footnote{attraverso il campo \var{semundo} di - \struct{task\_struct}, come mostrato in \ref{fig:ipc_sem_schema}.} quando un + \kstruct{task\_struct}, come mostrato in \ref{fig:ipc_sem_schema}.} quando un processo termina, la lista ad esso associata viene scandita e le operazioni applicate al semaforo. Siccome un processo può accumulare delle richieste di ripristino per semafori differenti chiamate attraverso diverse chiamate a @@ -3658,7 +3658,7 @@ Se la dimensione specificata da \param{msg\_len} non è sufficiente a contenere il messaggio, entrambe le funzioni, al contrario di quanto avveniva nelle code di messaggi di SysV, ritornano un errore di \errcode{EMSGSIZE} senza estrarre il messaggio. È pertanto opportuno eseguire sempre una chiamata a -\func{mq\_getaddr} prima di eseguire una ricezione, in modo da ottenere la +\func{mq\_getattr} prima di eseguire una ricezione, in modo da ottenere la dimensione massima dei messaggi sulla coda, per poter essere in grado di allocare dei buffer sufficientemente ampi per la lettura. @@ -3729,7 +3729,7 @@ valori di tab.~\ref{tab:sigevent_sigev_notify}.\footnote{la pagina di manuale \const{SIGEV\_SIGNAL}).} Il metodo consigliato è quello di usare \const{SIGEV\_SIGNAL} usando il campo \var{sigev\_signo} per indicare il quale segnale deve essere inviato al processo. Inoltre il campo \var{sigev\_value} è -un puntatore ad una struttura \struct{sigval\_t} (definita in +un puntatore ad una struttura \struct{sigval} (definita in fig.~\ref{fig:sig_sigval}) che permette di restituire al gestore del segnale un valore numerico o un indirizzo,\footnote{per il suo uso si riveda la trattazione fatta in sez.~\ref{sec:sig_real_time} a proposito dei segnali @@ -4129,7 +4129,7 @@ programma possa proseguire. La seconda variante di \func{sem\_wait} è una estensione specifica che può essere utilizzata soltanto se viene definita la macro \macro{\_XOPEN\_SOURCE} ad un valore di 600 prima di includere \headfile{semaphore.h}, la funzione è -\func{sem\_timedwait}, ed il suo prototipo è: +\funcd{sem\_timedwait}, ed il suo prototipo è: \begin{functions} \headdecl{semaphore.h}