Autor Thema: Aufräumen von Threads  (Gelesen 5930 mal)

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« am: 19. January 2011, 15:54 »
Hallo zusammen,

mein Kernel soll Threads unterstützen und nun mache ich mir Gedanken, wie ich einen Thread am besten aufräume.
Wie habt ihr das gemacht?
Ich habe mir überlegt, dass jeder Thread eine memmap erhält, die ich dann aufräume.
Nun habe ich aber das Problem mit dem malloc. Wenn der Thread speicher anfordert, wird der in meinen Malloc-Baum eingegliedert. Nun kann ich aber nicht einfach die memmap aufräumen, da es ansonsten echt ungünstig werden kann. Wie lässt sich sowas gut lösen?
Eine Möglichkeit wäre, dass jeder thread seinen eigenen malloc-baum bekommt, das finde ich aber nicht wirklich gut.

gruß,
rizor
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 19. January 2011, 15:56 »
Ich bin mir nicht ganz sicher, ob ich richtig verstehe, was du vorhast. Willst du beim Threadende Speicher freigeben, den dieser Thread angefordert hat? Das wäre falsch, der Speicher könnte von anderen Threads des Prozesses noch in Verwendung sein.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 19. January 2011, 16:10 »
Du hast mich richtig verstanden.
Also ist es am besten, wenn nur der Stack aufgeräumt wird, oder wie?
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 19. January 2011, 16:11 »
Genau, und irgendwelche kernelinternen Verwaltungsstrukturen natürlich.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen