ambiente multitasking.
-\section{Le funzioni di base}% della gestione dei processi}
+\section{Le funzioni di base della gestione dei processi}
\label{sec:proc_handling}
In questa sezione tratteremo le problematiche della gestione dei processi
sez.~\ref{sec:process_ptrace}) in caso di successo viene emesso il segnale
\signal{SIGTRAP}.
+% TODO aggiungere la parte sul numero massimo di argomenti, da man execve
+
Le altre funzioni della famiglia (\funcd{execl}, \funcd{execv},
\funcd{execle}, \funcd{execlp}, \funcd{execvp}) servono per fornire all'utente
una serie di possibili diverse interfacce nelle modalità di passaggio degli
\end{errlist}}
\end{funcproto}
+% NOTE: una pagina con la descrizione degli argomenti:
+% * http://www.lindevdoc.org/wiki/Clone
+
La funzione prende come primo argomento \param{fn} il puntatore alla funzione
che verrà messa in esecuzione nel nuovo processo, che può avere un unico
argomento di tipo puntatore a \ctyp{void}, il cui valore viene passato dal
di ritorno della funzione (o quello specificato con \func{exit}) verrà
utilizzato come stato di uscita della funzione. I tre
argomenti \param{ptid}, \param{tls} e \param{ctid} sono opzionali e sono
-presenti solo a partire dal kernel 2.6 ed usati principalmente per le funzioni
-di gestione dei \textit{thread} presenti nella \acr{glibc}.
+presenti solo a partire dal kernel 2.6 e sono stati aggiunti come supporto per
+le funzioni di gestione dei \textit{thread} (la \textit{Native Thread Posix
+ Library}, vedi sez.~\ref{sec:linux_ntpl}) nella \acr{glibc}, essi vengono
+utilizzati soltanto se si sono specificati rispettivamente i flag
+\const{CLONE\_PARENT\_SETTID}, \const{CLONE\_SETTLS} e
+\const{CLONE\_CHILD\_CLEARTID}.
Il comportamento di \func{clone}, che si riflette sulle caratteristiche del
nuovo processo da essa creato, è controllato dall'argomento \param{flags}, che
deve essere specificato come maschera binaria, ottenuta con un OR aritmetico
di una delle costanti del seguente elenco, che illustra quelle attualmente
-disponibili:\footnote{alla stesura di questa sezione, cioè con il kernel 3.2.}
+disponibili:\footnote{si fa riferimento al momento della stesura di questa
+ sezione, cioè con il kernel 3.2.}
\begin{basedescript}{\desclabelstyle{\pushlabel}}
-\item[\const{CLONE\_CHILD\_CLEARTID}]
+\item[\const{CLONE\_CHILD\_CLEARTID}] cancella il
\item[\const{CLONE\_CHILD\_SETTID}]
\item[\const{CLONE\_FILES}]
\item[\const{CLONE\_FS}]
% LocalWords: ETXTBSY EINVAL ELIBBAD BIG EFAULT EIO ENAMETOOLONG ELOOP ENOTDIR
% LocalWords: ENFILE EMFILE argc execl path execv execle execlp execvp vector
% LocalWords: list environ NULL umask pending utime cutime ustime fcntl linker
-% LocalWords: opendir libc interpreter FreeBSD capabilities Mandatory Access
-% LocalWords: Control MAC SELinux Security Modules LSM superuser uid gid saved
+% LocalWords: opendir libc interpreter FreeBSD capabilities mandatory access
+% LocalWords: control MAC SELinux security modules LSM superuser uid gid saved
% LocalWords: effective euid egid dell' fsuid fsgid getuid geteuid getgid SVr
% LocalWords: getegid IDS NFS setuid setgid all' logout utmp screen xterm TODO
% LocalWords: setreuid setregid FIXME ruid rgid seteuid setegid setresuid size
% LocalWords: namespace vsyscall SETTID FILES NEWIPC NEWNET NEWNS NEWPID ptid
% LocalWords: NEWUTS SETTLS SIGHAND SYSVSEM UNTRACED tls ctid CLEARTID panic
% LocalWords: loader EISDIR SIGTRAP uninterrutible killable EQUAL sizeof XOR
+% LocalWords: destset srcset ALLOC num cpus setsize emacs
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "gapil"
%%% End:
-% LocalWords: destset srcset ALLOC num cpus setsize emacs