This is an automated email from the ASF dual-hosted git repository. gilbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git
commit eb9af952d5f43d7f0b91ef01acc624e64d6c0ae7 Author: Qian Zhang <[email protected]> AuthorDate: Fri Jul 12 00:40:09 2019 -0700 Implemented `cleanup` method of the `namespaces/ipc` isolator. Review: https://reviews.apache.org/r/70844/ --- .../containerizer/mesos/isolators/namespaces/ipc.cpp | 19 +++++++++++++++++++ .../containerizer/mesos/isolators/namespaces/ipc.hpp | 3 +++ 2 files changed, 22 insertions(+) diff --git a/src/slave/containerizer/mesos/isolators/namespaces/ipc.cpp b/src/slave/containerizer/mesos/isolators/namespaces/ipc.cpp index 327827f..9a98476 100644 --- a/src/slave/containerizer/mesos/isolators/namespaces/ipc.cpp +++ b/src/slave/containerizer/mesos/isolators/namespaces/ipc.cpp @@ -322,6 +322,25 @@ Future<Option<ContainerLaunchInfo>> NamespacesIPCIsolatorProcess::prepare( return launchInfo; } + +Future<Nothing> NamespacesIPCIsolatorProcess::cleanup( + const ContainerID& containerId) +{ + const string shmPath = containerizer::paths::getContainerShmPath( + flags.runtime_dir, containerId); + + if (os::exists(shmPath)) { + Try<Nothing> unmount = fs::unmount(shmPath); + if (unmount.isError()) { + return Failure( + "Failed to unmount container shared memory directory '" + + shmPath + "': " + unmount.error()); + } + } + + return Nothing(); +} + } // namespace slave { } // namespace internal { } // namespace mesos { diff --git a/src/slave/containerizer/mesos/isolators/namespaces/ipc.hpp b/src/slave/containerizer/mesos/isolators/namespaces/ipc.hpp index 00c9d7e..ef252fe 100644 --- a/src/slave/containerizer/mesos/isolators/namespaces/ipc.hpp +++ b/src/slave/containerizer/mesos/isolators/namespaces/ipc.hpp @@ -39,6 +39,9 @@ public: const ContainerID& containerId, const mesos::slave::ContainerConfig& containerConfig) override; + process::Future<Nothing> cleanup( + const ContainerID& containerId) override; + private: NamespacesIPCIsolatorProcess(const Flags& flags);
