diff --git a/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.cpp b/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.cpp index 529d8260b675c2..3165ac8ab73436 100644 --- a/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.cpp +++ b/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.cpp @@ -94,7 +94,7 @@ MethodContextReader::MethodContextReader( , Offset(offset) , Increment(increment) { - this->mutex = CreateMutexW(NULL, FALSE, nullptr); + minipal_mutex_init(&this->mutex); std::string tocFileName, mchFileName; @@ -140,20 +140,19 @@ MethodContextReader::~MethodContextReader() CloseHandle(this->fileHandle); } - CloseHandle(this->mutex); - + minipal_mutex_destroy(&this->mutex); CleanExcludedMethods(); } bool MethodContextReader::AcquireLock() { - DWORD res = WaitForSingleObject(this->mutex, INFINITE); - return (res == WAIT_OBJECT_0); + minipal_mutex_enter(&this->mutex); + return true; } void MethodContextReader::ReleaseLock() { - ReleaseMutex(this->mutex); + minipal_mutex_leave(&this->mutex); } bool MethodContextReader::atEof() @@ -418,7 +417,7 @@ bool MethodContextReader::hasTOC() bool MethodContextReader::isValid() { - return this->fileHandle != INVALID_HANDLE_VALUE && this->mutex != INVALID_HANDLE_VALUE; + return this->fileHandle != INVALID_HANDLE_VALUE; } // Return a measure of "progress" through the method contexts, as follows: @@ -640,7 +639,7 @@ void MethodContextReader::Reset(const int* newIndexes, int newIndexCount) int64_t pos = 0; BOOL result = SetFilePointerEx(fileHandle, *(PLARGE_INTEGER)&pos, NULL, FILE_BEGIN); assert(result); - + Indexes = newIndexes; IndexCount = newIndexCount; curIndexPos = 0; diff --git a/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.h b/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.h index df3ca7b31653f8..f5ef48009b8370 100644 --- a/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.h +++ b/src/coreclr/tools/superpmi/superpmi-shared/methodcontextreader.h @@ -10,6 +10,7 @@ #include "methodcontext.h" #include "tocfile.h" +#include struct MethodContextBuffer { @@ -56,7 +57,7 @@ class MethodContextReader int curMCIndex; // The synchronization mutex - HANDLE mutex; + minipal_mutex mutex; bool AcquireLock(); void ReleaseLock();