"exit()" in einer lib?!
-
exit(0x123); schrieb:
Und hör endlich mit diesem peinlichen "diggr" auf.
ey oldär, exit(0x0815) ist aber nicht peinlich oda watt?
-
digga++ gemobbt schrieb:
ey oldär, exit(0x0815) ist aber nicht peinlich oda watt?
Nicht annähernd so peinlich wie "ey oldär," "digg0r" und "lolz0r." Du klingst wie die Karikatur eines Skriptkiddies aus einem Gamer-Forum. Lass das.
Was den eigentlichen Thread angeht: alles, was auf Betriebssystemebene mit einem einzelnen Prozess (und nur diesem) zusammenhängt, wird bei Prozessende eingerissen, davon kann man ausgehen. Dazu zählt der Freestore (Heap) und die relevanten Teile der Page Table, offene Dateideskriptoren und derlei Dinge mehr, die nach Prozessende stumpf keinerlei Bedeutung mehr haben. Die Information, was Filehandle 16 in Prozess 1234 mal war, ist nach dessen Ende schlicht von niemandem mehr verwendbar. Ob allerdings die Daten im zugehörigen Buffer noch auf die Platte geschrieben werden, ist eine andere Frage; wenn der Prozess hart runtergeht, kann so was von System zu System verschieden sein.
Es gibt allerdings Dinge, die auf Betriebssystemebene nicht eindeutig einem Prozess zuzuordnen sind, und diese werden dann auch nicht aufgeräumt. Dazu zählen beispielsweise temporäre Dateien, Kindprozesse, shared memory und Dinge, die dein Programm in anderen Prozessen ausgelöst haben mag. Wenn du beispielsweise eine Netzwerkverbindung zu einem Server hältst und dein Prozess einfach abschmiert, wird diese Verbindung auf der Gegenseite noch eine Weile offen bleiben (bis zum Timeout). Im Umgang mit solchen Dingen ist dann auch entsprechende Vor- und Umsicht angebracht -- und da du als Bibliothek darauf vorbereitet sein musst, in Programmen benutzt zu werden, die mit derlei Dingen umgehen, ist ein harter Abbruch per Design da nicht sinnvoll.
Wenn du einmal undefiniertes Verhalten ausgelöst hast und feststellst, dass der Zustand des Programms hoffnungslos zerschossen ist, dann macht eine Notbremse die Sache auch nicht mehr schlimmer, aber gelöst werden muss das Problem natürlich, indem kein undefiniertes Verhalten mehr ausgelöst wird -- also per Bugfix.
-
seldon schrieb:
Nicht annähernd so peinlich wie "ey oldär," "digg0r" und "lolz0r." Du klingst wie die Karikatur eines Skriptkiddies aus einem Gamer-Forum. Lass das.
yo. amen, mann.