+ warning
This commit is contained in:
parent
646e3aacc9
commit
5105779eb6
26
chap/IPC.tex
26
chap/IPC.tex
@ -23,15 +23,16 @@ chose.
|
|||||||
\label{get-signal}
|
\label{get-signal}
|
||||||
\lstinputlisting[language=c]{code/get-signal.c}
|
\lstinputlisting[language=c]{code/get-signal.c}
|
||||||
|
|
||||||
|
Quand ce processus recevra le signal, la fonction \texttt{attraper}
|
||||||
|
sera appelée de façon \textsl{asynchrone} et positionnera le drapeau.
|
||||||
|
C'est dans le terme \textsl{asynchrone} que le diable a caché
|
||||||
|
les détails.
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
fubar $ make get-signal
|
|
||||||
gcc -Wall get-signal.c -o get-signal
|
|
||||||
fubar $ ./get-signal &
|
fubar $ ./get-signal &
|
||||||
[1] 14001
|
[1] 14001
|
||||||
fubar $ kill me, my pid is 14001
|
fubar $ kill me, my pid is 14001
|
||||||
kill -USR1 14001
|
kill -USR1 14001
|
||||||
fubar $ count is 15
|
|
||||||
kill -USR1 14001
|
|
||||||
fubar $ count is 22
|
fubar $ count is 22
|
||||||
kill %1
|
kill %1
|
||||||
fubar $
|
fubar $
|
||||||
@ -39,6 +40,23 @@ fubar $
|
|||||||
fubar $
|
fubar $
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
Comme on peut le constater, le principe est simple. Un signal est
|
||||||
|
une interruption d'un processus qui, en dehors de sa présence, ne
|
||||||
|
transfère que peu d'information. Le principe est simple, d'accord,
|
||||||
|
mais la mise en œuvre l'est moins.
|
||||||
|
Cet exemple peut être considéré comme obsolète, et la
|
||||||
|
\textsl{manpage}\footnote{Mais qui lit le man, de nos jours ?}
|
||||||
|
confime bien.
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
The only portable use of signal() is to set a signal's disposition to
|
||||||
|
SIG\_DFL or SIG\_IGN. The semantics when using signal() to establish a
|
||||||
|
signal handler vary across systems (and POSIX.1 explicitly permits this
|
||||||
|
variation); \textbf{do not use it for this purpose}.
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
Vous voilà prévenus, la suite bientôt\dots
|
||||||
|
|
||||||
% ================================================================
|
% ================================================================
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user