Repository: mesos Updated Branches: refs/heads/master 961c26528 -> f8a1afd31
Replaced raw pointer by Owned pointer in ExternalContainerizer. Review: https://reviews.apache.org/r/32233 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f8a1afd3 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f8a1afd3 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f8a1afd3 Branch: refs/heads/master Commit: f8a1afd31b8546ed892b7754b49bd5aab0bb7de9 Parents: 961c265 Author: Akanksha Agrawal <[email protected]> Authored: Fri Mar 20 12:32:25 2015 -0700 Committer: Benjamin Mahler <[email protected]> Committed: Fri Mar 20 12:33:33 2015 -0700 ---------------------------------------------------------------------- .../containerizer/external_containerizer.cpp | 76 +++++++++++--------- .../containerizer/external_containerizer.hpp | 2 +- 2 files changed, 43 insertions(+), 35 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/f8a1afd3/src/slave/containerizer/external_containerizer.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/external_containerizer.cpp b/src/slave/containerizer/external_containerizer.cpp index 42c67f5..cdbb180 100644 --- a/src/slave/containerizer/external_containerizer.cpp +++ b/src/slave/containerizer/external_containerizer.cpp @@ -136,24 +136,25 @@ static Try<T> result( ExternalContainerizer::ExternalContainerizer(const Flags& flags) + : process(new ExternalContainerizerProcess(flags)) { - process = new ExternalContainerizerProcess(flags); - spawn(process); + spawn(process.get()); } ExternalContainerizer::~ExternalContainerizer() { - terminate(process); - process::wait(process); - delete process; + terminate(process.get()); + process::wait(process.get()); } Future<Nothing> ExternalContainerizer::recover( const Option<state::SlaveState>& state) { - return dispatch(process, &ExternalContainerizerProcess::recover, state); + return dispatch(process.get(), + &ExternalContainerizerProcess::recover, + state); } @@ -166,16 +167,16 @@ Future<bool> ExternalContainerizer::launch( const PID<Slave>& slavePid, bool checkpoint) { - return dispatch(process, - &ExternalContainerizerProcess::launch, - containerId, - None(), - executorInfo, - directory, - user, - slaveId, - slavePid, - checkpoint); + return dispatch(process.get(), + &ExternalContainerizerProcess::launch, + containerId, + None(), + executorInfo, + directory, + user, + slaveId, + slavePid, + checkpoint); } @@ -189,16 +190,16 @@ Future<bool> ExternalContainerizer::launch( const PID<Slave>& slavePid, bool checkpoint) { - return dispatch(process, - &ExternalContainerizerProcess::launch, - containerId, - taskInfo, - executorInfo, - directory, - user, - slaveId, - slavePid, - checkpoint); + return dispatch(process.get(), + &ExternalContainerizerProcess::launch, + containerId, + taskInfo, + executorInfo, + directory, + user, + slaveId, + slavePid, + checkpoint); } @@ -206,36 +207,43 @@ Future<Nothing> ExternalContainerizer::update( const ContainerID& containerId, const Resources& resources) { - return dispatch(process, - &ExternalContainerizerProcess::update, - containerId, - resources); + return dispatch(process.get(), + &ExternalContainerizerProcess::update, + containerId, + resources); } Future<ResourceStatistics> ExternalContainerizer::usage( const ContainerID& containerId) { - return dispatch(process, &ExternalContainerizerProcess::usage, containerId); + return dispatch(process.get(), + &ExternalContainerizerProcess::usage, + containerId); } Future<containerizer::Termination> ExternalContainerizer::wait( const ContainerID& containerId) { - return dispatch(process, &ExternalContainerizerProcess::wait, containerId); + return dispatch(process.get(), + &ExternalContainerizerProcess::wait, + containerId); } void ExternalContainerizer::destroy(const ContainerID& containerId) { - dispatch(process, &ExternalContainerizerProcess::destroy, containerId); + dispatch(process.get(), + &ExternalContainerizerProcess::destroy, + containerId); } Future<hashset<ContainerID> > ExternalContainerizer::containers() { - return dispatch(process, &ExternalContainerizerProcess::containers); + return dispatch(process.get(), + &ExternalContainerizerProcess::containers); } http://git-wip-us.apache.org/repos/asf/mesos/blob/f8a1afd3/src/slave/containerizer/external_containerizer.hpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/external_containerizer.hpp b/src/slave/containerizer/external_containerizer.hpp index 7049137..856d1ea 100644 --- a/src/slave/containerizer/external_containerizer.hpp +++ b/src/slave/containerizer/external_containerizer.hpp @@ -118,7 +118,7 @@ public: virtual process::Future<hashset<ContainerID> > containers(); private: - ExternalContainerizerProcess* process; + process::Owned<ExternalContainerizerProcess> process; };
