@@ -37,11 +37,11 @@ bool PCSX::SharedMem::init(const char* id, size_t size, bool initToZero) {
3737 // Try to create a shared memory mapping, if an id is provided
3838 if (id != nullptr ) {
3939 // Build the full name to share as
40- std::string fullname = getSharedName (id, static_cast <uint32_t >(GetCurrentProcessId ()));
40+ m_sharedName = getSharedName (id, static_cast <uint32_t >(GetCurrentProcessId ()));
4141 // Create the memory mapping handle
4242 m_fileHandle =
4343 CreateFileMappingA (INVALID_HANDLE_VALUE, nullptr , PAGE_READWRITE, static_cast <uint32_t >(size >> 32 ),
44- static_cast <uint32_t >(size), fullname .c_str ());
44+ static_cast <uint32_t >(size), m_sharedName .c_str ());
4545 if (m_fileHandle != INVALID_HANDLE_VALUE) {
4646 // Create a view of the memory mapping at 0 offset
4747 void * basePointer = MapViewOfFileEx (m_fileHandle, FILE_MAP_READ | FILE_MAP_WRITE, 0 , 0 , size, nullptr );
@@ -56,9 +56,11 @@ bool PCSX::SharedMem::init(const char* id, size_t size, bool initToZero) {
5656 } else {
5757 CloseHandle (m_fileHandle);
5858 m_fileHandle = nullptr ;
59+ m_sharedName.clear ();
5960 }
6061 } else {
6162 m_fileHandle = nullptr ;
63+ m_sharedName.clear ();
6264 }
6365 }
6466 // Alloc memory directly if we opted out or had problems creating the memory map
@@ -76,6 +78,7 @@ PCSX::SharedMem::~SharedMem() {
7678 m_mem = nullptr ;
7779 CloseHandle (m_fileHandle);
7880 m_fileHandle = nullptr ;
81+ m_sharedName.clear ();
7982 } else {
8083 free (m_mem);
8184 }
0 commit comments