Commit 02d103c1 authored by Taddeüs Kroes's avatar Taddeüs Kroes

- Added extra error check.

 - Added info in report.
parent 34b80ad4
...@@ -35,6 +35,11 @@ static void gup(FILE * log1, FILE * log2, int pipe_id[2], int myNumber) ...@@ -35,6 +35,11 @@ static void gup(FILE * log1, FILE * log2, int pipe_id[2], int myNumber)
/* Read next character from pipe */ /* Read next character from pipe */
if( read(pipe_id[0], &c, 1) <= 0 ) if( read(pipe_id[0], &c, 1) <= 0 )
{ {
if( errno == EINTR )
{
continue;
}
/* Error while reading from the pipe, exit */ /* Error while reading from the pipe, exit */
fprintf(log1, "Child %d read from pipe with error " fprintf(log1, "Child %d read from pipe with error "
"and exited\n", myNumber); "and exited\n", myNumber);
......
...@@ -148,6 +148,17 @@ LOAD DATA INFILE '/tmp/sql_dump' INTO TABLE table_name; ...@@ -148,6 +148,17 @@ LOAD DATA INFILE '/tmp/sql_dump' INTO TABLE table_name;
De uncompressed data wordt in dit geval niet op de hardeschijf opgeslagen, maar De uncompressed data wordt in dit geval niet op de hardeschijf opgeslagen, maar
direct doorgestuurd naar een buffer waaruit de MySQL server leest. direct doorgestuurd naar een buffer waaruit de MySQL server leest.
\subsection{Zombie- en wees-processen}
Dit zijn twee belangrijke begrippen die door de practicumleiding als volgt
worden beschreven: \\
De parent kan wachten op zijn child of ondertussen doorgaan (multitasking). In
het laatste geval kan het voorkomen dat het child klaar is, maar nog niet dood,
een zogenaamd `zombie', in de lijst met processen aangegeven met $<$node$>$.
Soms komt men onder Unix ook wel $<$defunct$>$ en $<$zombie$>$ als status
tegen. De omgekeerde toestand, een child waarvan de parent al klaar is, wordt
een `orphan' (Engels voor wees) proces genoemd.
\subsection{Signals sturen en ontvangen} \subsection{Signals sturen en ontvangen}
In de taal C is het mogelijk om een actie uit te voeren, als een signaal wordt In de taal C is het mogelijk om een actie uit te voeren, als een signaal wordt
...@@ -253,10 +264,10 @@ for i in {1..6}; do ./fish < input$i.txt; \ ...@@ -253,10 +264,10 @@ for i in {1..6}; do ./fish < input$i.txt; \
\subsection{Opruimen van zombie processen} \subsection{Opruimen van zombie processen}
Wanneer een kindproces termineert verandert het in een zombie-proces (defunct). Wanneer een kindproces termineert verandert het in een zombie-proces (defunct).
Dit kan leiden tot een overbodig volle defunct-rij, daarom is het netjes deze Dit kan leiden tot een overbodig volle defunct-rij, daarom is het nuttig deze
processen op te ruimen. Dit wordt volgens stap 6 ge\"implementeerd m.b.v. een processen op te ruimen. Dit wordt volgens stap 6 ge\"implementeerd m.b.v. een
\texttt{wait(NULL)} statement na het schrijven van het karakter 'P' in de \texttt{wait(NULL)} statement na het schrijven van het karakter `P' in de
pipe. Het probleem hierbij echter is dat als het kindproces dat de 'P' zal pipe. Het probleem hierbij echter is dat als het kindproces dat de `P' zal
lezen antidote heeft, het niet zal termineren waardoor het ouderproces zal lezen antidote heeft, het niet zal termineren waardoor het ouderproces zal
blijven wachten op een statusverandering die niet zal komen. Dit probleem kan blijven wachten op een statusverandering die niet zal komen. Dit probleem kan
worden opgelost door het gebruik van signals, dit wordt besproken in de worden opgelost door het gebruik van signals, dit wordt besproken in de
......
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