Hier ist die Live-Bearbeitung der Klausuraufgabe (SS21) vom 26Jan22 zu finden.
Keine Garantie of Richtigkeit, weder der Bearbeitung noch der Korrektur!Wir haben spam-empty.c als Basis genommen, um spam.c zu schreiben. In spam-clean.c wurde spam.c etwas aufgeräumt.
Die Fehler aus der Übung waren:
- In der Aufgabenstellung steht “Der Pfadname jeder regulären Datei, die dem ausführenden benutzer gehört, wird einem eigenen Faden (
worker) zur Bearbeitung übergeben.”. Es wurde dergetuid() == st.st_uidcheck vergessen (Z124ff, -0.5). - Schlägt
pthread_createfehl, wird der Speicher fürpathwurde hier nicht freigegeben (Z141ff, -0.5). - Schlägt
fdopenfehl, wird dertmplnicht geschlossen (Z191ff, -0.5) - Fehlerbehandlung für
fputsundfputcfehlt in (Z212, Z215, 2x-0.5). Dieses wurde in der Übung erwähnt, wurde aber aus Zeitgründen nicht implementiert. Einreturn -1wäre ausreichend gewesen. - Am Ende von
send_templatefehlt noch einferrorcheck, in welchem Fall auchreturn -1zurückgegeben werden sollte (Z224, -0.5).
Alle Zeilennummern beziehen sich auf spam-clean.c. Insgesamt wären für diese Abgabe 3 von 60 Punkten Abgezogen worden. Sehr gut!