Aggiornamenti del copyright all'anno nuovo, e risistemazione delle
[gapil.git] / session.tex
index 5b4d30f0abdd445d69b3ab0218dd9d82165a8cf7..5427840c4de3c3711d8686198fb54cdc7a250486 100644 (file)
@@ -1,6 +1,6 @@
 %% session.tex
 %%
-%% Copyright (C) 2000-2006 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2007 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -8,6 +8,7 @@
 %% license is included in the section entitled "GNU Free Documentation
 %% License".
 %%
+
 \chapter{Terminali e sessioni di lavoro}
 \label{cha:session}
 
@@ -85,11 +86,11 @@ esso.
 In generale allora all'interno di una sessione avremo un eventuale (può non
 esserci) \itindex{process~group} \textit{process group} in
 \textit{foreground}, che riunisce i processi che possono accedere al
-terminale, e più \textit{process group} in \textit{background}, che non
-possono accedervi. Il job control prevede che quando un processo appartenente
-ad un raggruppamento in \textit{background} cerca di accedere al terminale,
-venga inviato un segnale a tutti i processi del raggruppamento, in modo da
-bloccarli (vedi sez.~\ref{sec:sess_ctrl_term}).
+terminale, e più \itindex{process~group} \textit{process group} in
+\textit{background}, che non possono accedervi. Il job control prevede che
+quando un processo appartenente ad un raggruppamento in \textit{background}
+cerca di accedere al terminale, venga inviato un segnale a tutti i processi
+del raggruppamento, in modo da bloccarli (vedi sez.~\ref{sec:sess_ctrl_term}).
 
 Un comportamento analogo si ha anche per i segnali generati dai comandi di
 tastiera inviati dal terminale che vengono inviati a tutti i processi del
@@ -182,7 +183,7 @@ stessa sessione del padre. Vedremo poi come sia possibile creare pi
 processi dall'uno all'altro, ma sempre all'interno di una stessa sessione.
 
 Ciascun raggruppamento di processi ha sempre un processo principale, il
-cosiddetto \itindex{process~group~leader}\textit{process group leader}, che è
+cosiddetto \itindex{process~group~leader} \textit{process group leader}, che è
 identificato dall'avere un \acr{pgid} uguale al suo \acr{pid}, in genere
 questo è il primo processo del raggruppamento, che si incarica di lanciare
 tutti gli altri. Un nuovo raggruppamento si crea con la funzione
@@ -238,8 +239,8 @@ sia dal processo padre, per impostare il valore nel figlio, che da
 quest'ultimo, per sé stesso, in modo che il cambiamento di \textit{process
   group} sia immediato per entrambi; una delle due chiamate sarà ridondante,
 ma non potendo determinare quale dei due processi viene eseguito per primo,
-occorre eseguirle comunque entrambe per evitare di esporsi ad una \textit{race
-  condition}\itindex{race~condition}.
+occorre eseguirle comunque entrambe per evitare di esporsi ad una
+\itindex{race~condition} \textit{race condition}.
 
 Si noti come nessuna delle funzioni esaminate finora permetta di spostare un
 processo da una sessione ad un altra; infatti l'unico modo di far cambiare
@@ -447,15 +448,15 @@ tutto ci
 controllo.  Consideriamo allora cosa avviene di norma nel \textit{job
   control}: una sessione viene creata con \func{setsid} che crea anche un
 nuovo \itindex{process~group} \textit{process group}: per definizione
-quest'ultimo è sempre \textsl{orfano}, dato che il padre del leader di
-sessione è fuori dalla stessa e il nuovo \textit{process group}
-\itindex{process~group} contiene solo il leader di sessione. Questo è un caso
-limite, e non viene emesso nessun segnale perché quanto previsto dallo
-standard riguarda solo i raggruppamenti che diventano orfani in seguito alla
-terminazione di un processo.\footnote{l'emissione dei segnali infatti avviene
-  solo nella fase di uscita del processo, come una delle operazioni legate
-  all'esecuzione di \func{\_exit}, secondo quanto illustrato in
-  sez.~\ref{sec:proc_termination}.}
+quest'ultimo è sempre \itindex{process~group~orphaned} \textsl{orfano}, dato
+che il padre del leader di sessione è fuori dalla stessa e il nuovo
+\textit{process group} \itindex{process~group} contiene solo il leader di
+sessione. Questo è un caso limite, e non viene emesso nessun segnale perché
+quanto previsto dallo standard riguarda solo i raggruppamenti che diventano
+orfani in seguito alla terminazione di un processo.\footnote{l'emissione dei
+  segnali infatti avviene solo nella fase di uscita del processo, come una
+  delle operazioni legate all'esecuzione di \func{\_exit}, secondo quanto
+  illustrato in sez.~\ref{sec:proc_termination}.}
 
 Il leader di sessione provvederà a creare nuovi raggruppamenti che a questo
 punto non sono orfani in quanto esso resta padre per almeno uno dei processi
@@ -1047,7 +1048,7 @@ prototipo 
     \textit{pathname} del terminale.}
 \end{prototype}
 
-La funzione scrive il \itindex{pathname}\textit{pathname} del terminale di
+La funzione scrive il \itindex{pathname} \textit{pathname} del terminale di
 controllo del processo chiamante nella stringa posta all'indirizzo specificato
 dall'argomento \param{s}.  La memoria per contenere la stringa deve essere
 stata allocata in precedenza ed essere lunga almeno
@@ -1081,7 +1082,7 @@ si avr
 
 Se si passa come argomento \val{NULL} la funzione restituisce il puntatore ad
 una stringa statica che può essere sovrascritta da chiamate successive. Si
-tenga presente che il \itindex{pathname}\textit{pathname} restituito
+tenga presente che il \itindex{pathname} \textit{pathname} restituito
 potrebbe non identificare univocamente il terminale (ad esempio potrebbe
 essere \file{/dev/tty}), inoltre non è detto che il processo possa
 effettivamente aprire il terminale.
@@ -1997,10 +1998,6 @@ Qui vanno spiegati i terminali virtuali, \file{/dev/pty} e compagnia.
 
 Qui vanno le cose su \func{openpty} e compagnia.
 
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: "gapil"
-%%% End: 
 
 % LocalWords:  kernel multitasking dell'I job control BSD POSIX shell sez group
 % LocalWords:  foreground process bg fg Di waitpid WUNTRACED pgrp session sched
@@ -2036,3 +2033,9 @@ Qui vanno le cose su \func{openpty} e compagnia.
 % LocalWords:  cfgetospeed quest'ultime tcsendbreak duration break tcdrain
 % LocalWords:  tcflush queue TCIFLUSH TCOFLUSH TCIOFLUSH tcflow action TCOOFF
 % LocalWords:  TCOON TCIOFF TCION timer openpty Window nochdir
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: 
\ No newline at end of file