Questo problema può essere risolto (ed è la modalità con cui veniva fatto in
SVr2) usando la funzione \func{longjump} (vedi \secref{sec:proc_longjmp}) per
-uscire dal manipolatore, in modo da sfruttare lo stato di uscita di
-quest'ultima per evitare la chiamata a \func{pause}, con un codice del tipo:
+uscire dal manipolatore; in questo modo, usando lo stato di uscita di
+quest'ultima, si può evitare la chiamata a \func{pause}, con un codice come
+quello riportato in \ref{fig:sig_sleep_incomplete}.
\begin{figure}[!htb]
\footnotesize \centering
\label{fig:sig_sleep_incomplete}
\end{figure}
-In questo modo all'uscita dal manipolatore si eviterà comunque la chiamata di
-\func{pause}, dato che in questo caso il valore di uscita di \func{setjmp} è
-uno ed il condizionale in (\texttt{\small 15--21}) viene evitato.
-
+In questo caso il manipolatore non ritorna come in \ref{fig:sig_sleep_wrong},
+ma usa \func{longjmp} (\texttt{\small 15--21}) per rientrare nel corpo
+principale del programma; dato che in questo caso il valore di uscita di
+\func{setjmp} è 1 grazie alla condizione in (\texttt{\small 15--21}) si evita
+in ogni caso che \func{pause} sia chiamata a vuoto.
Ma anche questa implementazione comporta dei problemi; in questo caso infatti
non viene gestita correttamente l'interazione con altri segnali; se infatti il