From 189a2b4738ca2ba04521aee288b5bd00cc11b484 Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 28 Jun 2019 09:00:59 +0000 Subject: [PATCH] Core: HeapLog added mutex git-svn-id: svn://ultimatepp.org/upp/trunk@13455 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/sheap.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/uppsrc/Core/sheap.cpp b/uppsrc/Core/sheap.cpp index 1613a013c..a2b3e506e 100644 --- a/uppsrc/Core/sheap.cpp +++ b/uppsrc/Core/sheap.cpp @@ -174,6 +174,8 @@ void *Heap::AllocSz(size_t& sz) #undef AllocSz +StaticMutex sHeapLogLock; + static FILE *sLog = fopen(GetExeDirFile("heap.log"), "w"); force_inline @@ -181,8 +183,10 @@ void *Heap::AllocSz(size_t& sz) { size_t sz0 = sz; void *ptr = AllocSz0(sz); - if(sLog) + if(sLog) { + Mutex::Lock __(sHeapLogLock); fprintf(sLog, "%x %zx %p\n", Thread::GetCurrentId(), sz, ptr); + } return ptr; } @@ -253,8 +257,10 @@ force_inline void Heap::Free(void *ptr) { #ifdef flagHEAPLOG - if(sLog) + if(sLog) { + Mutex::Lock __(sHeapLogLock); fprintf(sLog, "-%x %p\n", Thread::GetCurrentId(), ptr); + } #endif if(!ptr) return; LLOG("Free " << ptr);