da controllare nel corpo principale del programma, con un codice del tipo di
quello riportato in fig.~\ref{fig:sig_event_wrong}.
-La logica del programma è quella di far impostare al gestore (\texttt{\small
- 14--19}) una variabile globale, preventivamente inizializzata nel programma
-principale, ad un diverso valore. In questo modo dal corpo principale del
-programma si potrà determinare, osservandone il contenuto di detta variabile,
-l'occorrenza o meno del segnale, ed eseguire le azioni conseguenti
-(\texttt{\small 6--11}) relative.
+La logica del programma è quella di impostare nel gestore una variabile
+globale preventivamente inizializzata nel programma principale ad un valore
+diverso (\texttt{\small 14--19}). In questo modo dal corpo principale del
+programma si potrà determinare, osservando il contenuto di detta variabile,
+l'occorrenza o meno del segnale, ed eseguire le conseguenti azioni relative
+(\texttt{\small 6--11}).
\begin{figure}[!htbp]
\footnotesize\centering
Questi esempi ci mostrano come per poter eseguire una gestione effettiva dei
segnali occorrono delle funzioni più sofisticate di quelle finora
-illustrate. La funzione \func{signal} infatti ha la sua origine nella
-interfaccia alquanto primitiva che venne adottata nei primi sistemi Unix, ma
-con questa funzione è sostanzialmente impossibile gestire in maniera adeguata
-di tutti i possibili aspetti con cui un processo deve reagire alla ricezione
-di un segnale.
+illustrate. La funzione \func{signal} infatti ha la sua origine
+nell'interfaccia alquanto primitiva che venne adottata nei primi sistemi Unix,
+ma con questa funzione è sostanzialmente impossibile gestire in maniera
+adeguata di tutti i possibili aspetti con cui un processo deve reagire alla
+ricezione di un segnale.
segnali non descritte finora, relative agli aspetti meno utilizzati e più
``\textsl{esoterici}'' della interfaccia.
- % TODO: trattare (qui?) pidfd_send_signal() introdotta con il kernel 5.1 vedi
- % https://lwn.net/Articles/784831/ e https://lwn.net/Articles/773459/
-
La prima di queste funzioni è la funzione di sistema \funcd{sigpending},
anch'essa introdotta dallo standard POSIX.1, il suo prototipo è:
\label{sec:sig_pid_fd}
+ % TODO: trattare (qui?) pidfd_send_signal() introdotta con il kernel 5.1 vedi
+ % https://lwn.net/Articles/784831/, https://lwn.net/Articles/773459/ e
+ % https://lwn.net/Articles/801319/
+ % oppure sopra in "Ulteriori funzioni di gestione"
+
% TODO: Nuova subsection sui pidfd, e le funzioni correlate, in particolare:
% trattare pidfd_send_signal, aggiunta con il kernel 5.1 (vedi
% https://lwn.net/Articles/783052/) per mandare segnali a processi senza dover