Not logged in. · Lost password · Register

slukas
Member since Mar 2016
50 posts
Subject: SP2 sister
Hallo, ich habe ein paar Fragen zur aktuellen SP2 Aufgabe sister und würde mich freuen wenn mir jemand weiterhelfen könnte:

mir wurde gesagt dass ich in der request-http.c in keiner fehlerbehandlung mit exit abschließen soll, stattdessen mit return. wenn ich mich richtig erinnere aus dem grund, damit der client-socket in der connection-fork.c vernünftig geschlossen wird. soll ich dann auch aus allen anderen fehlerbehandlungen (in sister.c und connection-fork.c) zwischen accept(clientSock) und close(clientSock) das exit(EXIT_FAILURE); herausnehmen?

in der dokumentation steht bei den init Funktionen: "If a non-recoverable error occurs [...] prints a meaningful error message and terminates the process." soll die ausgabe an den aufrufer gerichtet (stdout) oder sollen wir das wie gewohnt auf stderr ausgeben?

wenn beim aufruf ein gültiger integer als portnr. angegeben wird, dieser aber ungültig(negativ oder zu hoch) ist, soll dann mit dem default port weitergemacht oder das programm mit einer nachricht an den aufrufer abgebrochen werden?

da wir ja normalerweis SUSV4 konformen C Code schreiben sollen, können wir dann $^ im Makefile verwenden?
rudis
SPler
(Administrator)
Member since Apr 2010
649 posts
Quote by slukas:
mir wurde gesagt dass ich in der request-http.c in keiner fehlerbehandlung mit exit abschließen soll, stattdessen mit return. wenn ich mich richtig erinnere aus dem grund, damit der client-socket in der connection-fork.c vernünftig geschlossen wird.

Der Grund ist hauptsächlich, dass die request-http.c auch in der mother verwendet wird und dort ein Exit problematisch wird (weil Threads). Wenn sich dein Prozess beendet werden automatisch alle Sockets (wie andere Dateideskriptoren auch) geschlossen.

Quote by slukas:
soll ich dann auch aus allen anderen fehlerbehandlungen (in sister.c und connection-fork.c) zwischen accept(clientSock) und close(clientSock) das exit(EXIT_FAILURE); herausnehmen?

Das kommt darauf an. Die Frage ist, kann das Programm sinnvoll weiterlaufen wenn ein Fehler auftritt? Ja, dann kein exit; wenn nicht dann exit. An einigen Stellen kann man streiten, dann hilft ein Kommentar dem Tutor was du dir dabei gedacht hast.

Quote by slukas:
in der dokumentation steht bei den init Funktionen: "If a non-recoverable error occurs [...] prints a meaningful error message and terminates the process." soll die ausgabe an den aufrufer gerichtet (stdout) oder sollen wir das wie gewohnt auf stderr ausgeben?

Sowohl stdout als auch stderr sind "an den aufrufer gerichtet". Fehlermeldungen werden wie üblich nach stderr ausgegeben.

Quote by slukas:
wenn beim aufruf ein gültiger integer als portnr. angegeben wird, dieser aber ungültig(negativ oder zu hoch) ist, soll dann mit dem default port weitergemacht oder das programm mit einer nachricht an den aufrufer abgebrochen werden?

Was für ein Verhalten hältst du für sinnvoller? Wenn du ein Programm mit falschen Parametern startest, willst du, dass es dir den Fehler sagt oder einfach irgendetwas tut?

Quote by slukas:
da wir ja normalerweis SUSV4 konformen C Code schreiben sollen, können wir dann $^ im Makefile verwenden?

Es geht da um konformen C-Code. Für Makefiles darfst du $^ verwenden.
slukas
Member since Mar 2016
50 posts
Danke vielmals!
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen