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
Currently malloc cache is flushed long before the thread actually finishes:
thread_return_t AsanThread::ThreadStart(uptr os_id) {
...
thread_return_t res = start_routine_(arg_);
malloc_storage().CommitBack();
if (flags()->use_sigaltstack) UnsetAlternateSignalStack();
...
}
void AsanThread::Destroy() {
...
asanThreadRegistry().FinishThread(tid());
FlushToDeadThreadStats(&stats_);
...
}
malloc_storage().CommitBack() (and UnsetAlternateSignalStack) must be called right
before asanThreadRegistry().FinishThread(tid()).
Otherwise all memory freed in between is leaked.
Reported by dvyukov@google.com on 2013-10-18 14:21:30
The text was updated successfully, but these errors were encountered:
Originally reported on Google Code with ID 233
Reported by
dvyukov@google.com
on 2013-10-18 14:21:30The text was updated successfully, but these errors were encountered: