Risistemazione definizioni delle funzioni per I/O su file e
[gapil.git] / session.tex
index 12e2beb75609fbb9efef29d26349c946f8215545..6fd9027748b84088c909196cb9eaf839571b4ac1 100644 (file)
@@ -336,13 +336,13 @@ divenuto un nuovo leader di sessione dovrà riottenere\footnote{solo quando ciò
   sempre vera.}, un terminale di controllo. In generale questo viene fatto
 automaticamente dal sistema\footnote{a meno di non avere richiesto
   esplicitamente che questo non diventi un terminale di controllo con il flag
-  \const{O\_NOCTTY} (vedi sez.~\ref{sec:file_open}). In questo Linux segue la
-  semantica di SVr4; BSD invece richiede che il terminale venga allocato
-  esplicitamente con una \func{ioctl} con il comando \const{TIOCSCTTY}.}
-quando viene aperto il primo terminale (cioè uno dei vari file di dispositivo
-\file{/dev/tty*}) che diventa automaticamente il terminale di controllo,
-mentre il processo diventa il \textsl{processo di controllo} di quella
-sessione.
+  \const{O\_NOCTTY} (vedi sez.~\ref{sec:file_open_close}). In questo Linux
+  segue la semantica di SVr4; BSD invece richiede che il terminale venga
+  allocato esplicitamente con una \func{ioctl} con il comando
+  \const{TIOCSCTTY}.}  quando viene aperto il primo terminale (cioè uno dei
+vari file di dispositivo \file{/dev/tty*}) che diventa automaticamente il
+terminale di controllo, mentre il processo diventa il \textsl{processo di
+  controllo} di quella sessione.
 
 In genere (a meno di redirezioni) nelle sessioni di lavoro questo terminale è
 associato ai file standard (di input, output ed error) dei processi nella
@@ -1193,8 +1193,8 @@ disco e agli altri dispositivi.
 
 
 
-\subsection{L'architettura}
-\label{sec:term_design}
+\subsection{L'architettura dell'I/O su terminale}
+\label{sec:term_io_design}
 
 I terminali sono una classe speciale di dispositivi a caratteri (si ricordi la
 classificazione di sez.~\ref{sec:file_file_types}); un terminale ha infatti una
@@ -1232,6 +1232,9 @@ una delle principali infatti è che essi prevedono due modalità di operazione,
 dette rispettivamente ``\textsl{modo canonico}'' e ``\textsl{modo non
   canonico}'', che hanno dei comportamenti nettamente diversi.
 
+% TODO: inserire qui il comportamento di read relativo all'errore EIO sulla
+% lettura in background???
+
 La modalità preimpostata all'apertura del terminale è quella canonica, in cui
 le operazioni di lettura vengono sempre effettuate assemblando i dati in una
 linea;\footnote{per cui eseguendo una \func{read} su un terminale in modo
@@ -1641,7 +1644,7 @@ valore.
                      e che le linee di controllo del modem devono essere
                      ignorate. Se non impostato effettuando una chiamata ad
                      \func{open} senza aver specificato il flag di
-                     \const{O\_NOBLOCK} si bloccherà il processo finché 
+                     \const{O\_NONBLOCK} si bloccherà il processo finché 
                      non si è stabilita una connessione con il modem; inoltre 
                      se viene rilevata una disconnessione viene inviato un
                      segnale di \signal{SIGHUP} al processo di controllo del
@@ -2396,7 +2399,7 @@ Qui vanno le cose su \func{openpty} e compagnia.
 % LocalWords:  BRKINT IGNCR carriage return newline ICRNL INLCR IUCLC IXON NL
 % LocalWords:  IXANY IXOFF IMAXBEL iflag OPOST CR OCRNL OLCUC ONLCR ONOCR OFILL
 % LocalWords:  ONLRET OFDEL NLDLY CRDLY TABDLY BSDLY backspace BS VTDLY FFDLY
-% LocalWords:  form feed FF oflag CLOCAL NOBLOCK of HUPCL CREAD CSTOPB PARENB
+% LocalWords:  form feed FF oflag CLOCAL of HUPCL CREAD CSTOPB PARENB
 % LocalWords:  PARODD CSIZE CS CBAUD CBAUDEX CIBAUD CRTSCTS RTS CTS cflag ECHO
 % LocalWords:  ICANON ECHOE ERASE ECHOPRT ECHOK ECHOKE ECHONL ECHOCTL ctrl ISIG
 % LocalWords:  INTR QUIT SUSP IEXTEN EOL LNEXT REPRINT WERASE NOFLSH and TOSTOP