[ODE] Allocation problem?
jk at spiderland.org
Wed Jun 7 18:28:16 MST 2006
On Jun 7, 2006, at 8:53 PM, Geoff Carlton wrote:
> It would be interesting to revisit this after 0.6, and fix it once
> and for all.
> I had a look through the previous postings . The posted patch,
> which mallocs if "full" would appear to leak memory, unless of
> course FREEA was added for every ALLOCA call. In general that sort
> of solution looks the right way to go though.
No "free" call is needed for the posted patch and no memory should be
leaked. The patch creates a StackMemory object on the stack for each
ALLOCA call. The StackMemory destructor, called when the function
exists, reclaims the memory.
The "malloc" that happens when the StackMemory stack is full will
cause the StackMemory stack to increase as necessary over the course
of the program's execution. It's true that the code (as posted)
never frees this memory, but the memory will never increase beyond
the max size required to solve the most complex world step.
- jon klein
More information about the ODE