diff --git a/ipc/glue/SharedMemory.h b/ipc/glue/SharedMemory.h index c7c230389e16..9c2f6bf6785e 100644 --- a/ipc/glue/SharedMemory.h +++ b/ipc/glue/SharedMemory.h @@ -51,6 +51,7 @@ class SharedMemory { virtual bool Create(size_t size) = 0; virtual bool Map(size_t nBytes, void* fixed_address = nullptr) = 0; + virtual void Unmap() = 0; virtual void CloseHandle() = 0; diff --git a/ipc/glue/SharedMemoryBasic_android.h b/ipc/glue/SharedMemoryBasic_android.h index 6e6eddeac1fa..7376a2a78653 100644 --- a/ipc/glue/SharedMemoryBasic_android.h +++ b/ipc/glue/SharedMemoryBasic_android.h @@ -34,6 +34,8 @@ class SharedMemoryBasic final virtual bool Map(size_t nBytes, void* fixed_address = nullptr) override; + virtual void Unmap() override; + virtual void CloseHandle() override; virtual void* memory() const override { @@ -60,8 +62,6 @@ class SharedMemoryBasic final private: ~SharedMemoryBasic(); - void Unmap(); - // The /dev/ashmem fd we allocate. int mShmFd; // Pointer to mapped region, null if unmapped. diff --git a/ipc/glue/SharedMemoryBasic_chromium.h b/ipc/glue/SharedMemoryBasic_chromium.h index 09ec1b60e0fc..933a06b73370 100644 --- a/ipc/glue/SharedMemoryBasic_chromium.h +++ b/ipc/glue/SharedMemoryBasic_chromium.h @@ -49,6 +49,8 @@ class SharedMemoryBasic final return ok; } + virtual void Unmap() override { mSharedMemory.Unmap(); } + virtual void CloseHandle() override { mSharedMemory.Close(false); } virtual void* memory() const override { diff --git a/ipc/glue/SharedMemoryBasic_mach.h b/ipc/glue/SharedMemoryBasic_mach.h index fd2885b8d2b5..c2acf2e1553f 100644 --- a/ipc/glue/SharedMemoryBasic_mach.h +++ b/ipc/glue/SharedMemoryBasic_mach.h @@ -73,6 +73,8 @@ class SharedMemoryBasic final : public SharedMemoryCommon { virtual bool Map(size_t nBytes, void* fixed_address = nullptr) override; + virtual void Unmap() override; + virtual void CloseHandle() override; virtual void* memory() const override { @@ -97,7 +99,6 @@ class SharedMemoryBasic final : public SharedMemoryCommon { private: ~SharedMemoryBasic(); - void Unmap(); mach_port_t mPort; // Pointer to mapped region, null if unmapped. void* mMemory;