Added implementation details to the report of OS ass 3.

parent b4298d2e
...@@ -249,6 +249,12 @@ for i in {1..6}; do ./fish < input$i.txt; \ ...@@ -249,6 +249,12 @@ for i in {1..6}; do ./fish < input$i.txt; \
\subsection{Signal verwerking} \subsection{Signal verwerking}
In stap 7 wordt gevraagd om een signal handler in te bouwen in de bigfish. Met
deze signal handler kunnen signal worden opgevangen en in dit geval schrijft de
handler een bericht naar \texttt{stdout} met de ontvangen signal. Voordat de
bigfish leest van \texttt{stdin}, worden de signal handlers als volgt
toegewezen:
\begin{lstlisting}[numbers=none,backgroundcolor=\color{darkgray}] \begin{lstlisting}[numbers=none,backgroundcolor=\color{darkgray}]
/* Bind signal handlers */ /* Bind signal handlers */
if( sigaction(SIGINT, &action, NULL) if( sigaction(SIGINT, &action, NULL)
...@@ -262,6 +268,19 @@ if( sigaction(SIGINT, &action, NULL) ...@@ -262,6 +268,19 @@ if( sigaction(SIGINT, &action, NULL)
% wait() beschrijven. % wait() beschrijven.
\noindent In de man page van \texttt{sigaction}\footnote{
http://www.kernel.org/doc/man-pages/online/pages/man2/sigaction.2.html}
staat een \emph{flag} met betrekking tot zombieprocessen en \texttt{SIGCHLD}:
\\
\\
\texttt{SA\_NOCLDWAIT (since Linux 2.6) \\ If signum is SIGCHLD, do not
transform children into zombies when they terminate. This flag is only
meaningful when establishing a handler for SIGCHLD.} \\
\\
Met die flag worden kindprocessen niet op defunct gezet, maar direct
vrijgegeven. Daardoor is er geen \texttt{wait()} meer nodig binnen de signal
handler.
\pagebreak \pagebreak
\begin{appendices} \begin{appendices}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment