You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (tcb->stack_alloc_ptr &&
(tcb->flags & TCB_FLAG_CUSTOM_STACK) == 0)
{
#ifdef CONFIG_BUILD_KERNEL
/* If the exiting thread is not a kernel thread, then it has an
* address environment. Don't bother to release the stack memory
* in this case... There is no point since the memory lies in the
* user memory region that will be destroyed anyway (and the
* address environment has probably already been destroyed at
* this point.. so we would crash if we even tried it). But if
* this is a privileged group, when we still have to release the
* memory using the kernel allocator.
*/
if ((tcb->flags & TCB_FLAG_TTYPE_MASK) == TCB_FLAG_TTYPE_KERNEL)
#endif
{
up_release_stack(tcb, ttype);
}
}
Yes, address environment will free the memory when process exit, but the stack memory can't be reused before that. So this is still a memory leak.
The text was updated successfully, but these errors were encountered:
Yes, address environment will free the memory when process exit, but the stack memory can't be reused before that. So this is still a memory leak.
The text was updated successfully, but these errors were encountered: