<td valign="top"> <b> Cap. 10 </b> </td>
<td valign="top"> Sessioni e terminali</td>
<td valign="top"> Sessioni complete, da revisionare,
- terminali in stesura preliminare </td>
+ terminali quasi completi. </td>
</tr>
<tr>
<td valign="top"> <b> Cap. 11 </b> </td>
<td valign="top"> Gestione avanzata dei file</td>
<td valign="top"> I/O non bloccante, asincrono, memory
- mapped complete, da revisionare, file locking
- iniziato </td>
+ mapped complete, da revisionare, advisory file locking
+ quasi completo, mandatory file locking iniziato.
+ </td>
</tr>
<tr>
<td valign="top"> <b> Cap. 12 </b> </td>
<td valign="top"> IPC</td>
- <td valign="top"> Pipe, fifo e code complete, e
- semafori iniziati, memoria condivisa e
+ <td valign="top"> Pipe, fifo e code complete,
+ semafori quasi completi, memoria condivisa e
IPC POSIX da fare </td>
<tr>
<td valign="top"> <b> Cap. 13-14 </b> </td>
</tbody>
</table>
<p>
- <b> Versione corrente:</b> 385 pagine.
+ <b> Versione corrente:</b> 401 pagine.
</p>
</td>
</tr>
</b>
</td>
<td bgcolor="lightblue">
+ <p>
+ <b>26 - ottobre - 2002</b> <br> Revisione di terminali, code di
+ messaggi e advisory file locking. Aggiunta la struttura dei
+ semafori SysV IPC, del file locking in stile POSIX, ed un
+ contributo di Daniele Masini sull'allocazione della memoria.
+ </p>
<p>
<b>18 - ottobre - 2002</b> <br> Aggiunte: trattazione elementare
dei terminali, dei semafori di System V IPC, del file locking in
errore, nel qual caso \var{errno} assumerà i valori:
\begin{errlist}
\item[\macro{EACCES}] Il processo non ha i provilegi di accesso.
- \item[\macro{EINVAL}] .
- \item[\macro{EPERM}] Si è è richiesto \macro{IPC\_SET} o \macro{IPC\_RMID}
+ \item[\macro{EINVAL}] Si è specificato un identificatore invalido per
+ \param{shmid}, o un indirizzo non valido per \param{shmaddr}.
+ \item[\macro{EPERM}] Si è richiesto \macro{IPC\_SET} o \macro{IPC\_RMID}
senza avere i permessi del creatore o del proprietario del segmento (o
quelli dell'amministratore).
\item[\macro{EOVERFLOW}] Si è richiesto \macro{IPC\_STAT} ma alcuni valori
ed inoltre \macro{EFAULT} e \macro{EIDRM}.}
\end{functions}
-
+La prima funzione, \func{shmat}, aggancia un segmento di memoria condivisa
+allo spazio di indirizzi del processo, così che questo possa accedervi.
+L'argomento \param{shmaddr} specifica a quale indirizzo deve essere associato
+il segmento.