From: Ge van Geldorp
From: Hartmut Birr
I've still more problems with the modifications in the
virtual memory functions. My test case is ctm from rosapps.
It shows the cpu time and memory usage of the processes.
While waiting for a keyboard event, ctm
(kernel32) destroys and creates every 100ms a new thread. It
seems, that the memory (teb, stack, ...) isn't freed. The
thread itself is destroyed. Ps
shows always two threads for ctm.
Ok, I'll dig into it to see what's wrong.
Are you sure the behaviour changed recently? What I see is that the TEBs are
properly freed, but the stack (2Mb of committed memory) isn't. That happens
because the threads don't terminate themselves, but are terminated using
TerminateThread(). If a thread calls ExitThread() then its stack is freed,
but if a thread is ended using TerminateThread(), its stack is not freed.
It still needs to be fixed ofcourse, but I'm wondering what my recent
changes have to do with this.
Ge van Geldorp.