Betrachten Sie Ihr Programm aus der Perspektive der Nachhaltigkeit, insofern, dass es Systemressourcen (bspw. Shared Memory, Semaphore, Message Queue, Filedescriptoren) belegt. Implementieren Sie die Freigabe aller Ressourcen, die nur für einen Client nötig waren (bspw. Filedescriptoren, Prozesse), sobald dieser Client mit der Zeichenkette "QUIT" signalisiert hat, dass er die Verbindung beenden möchte. Verhindern Sie, dass Prozesse verwaisen oder zu Zombies werden. •Implementieren Sie zudem eine Funktion freeResourcesAndExit(), um alle weiteren nicht mehr benötigten Ressourcen freizugeben (bspw. Shared Memory, Message Queue) und den Server-Prozess zu beenden. Überlegen und erörtern Sie in der Dokumentation, wie und wann diese Funktion free ResourcesAndExit() aufgerufen werden sollte.
Betrachten Sie Ihr Programm aus der Perspektive der Nachhaltigkeit, insofern, dass es Systemressourcen (bspw. Shared Memory, Semaphore, Message Queue, Filedescriptoren) belegt. Implementieren Sie die Freigabe aller Ressourcen, die nur für einen Client nötig waren (bspw. Filedescriptoren, Prozesse), sobald dieser Client mit der Zeichenkette "QUIT" signalisiert hat, dass er die Verbindung beenden möchte. Verhindern Sie, dass Prozesse verwaisen oder zu Zombies werden. •Implementieren Sie zudem eine Funktion freeResourcesAndExit(), um alle weiteren nicht mehr benötigten Ressourcen freizugeben (bspw. Shared Memory, Message Queue) und den Server-Prozess zu beenden. Überlegen und erörtern Sie in der Dokumentation, wie und wann diese Funktion free ResourcesAndExit() aufgerufen werden sollte.