You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2015/03/20 20:33:41 UTC

mesos git commit: Replaced raw pointer by Owned pointer in ExternalContainerizer.

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 <ak...@gmail.com>
Authored: Fri Mar 20 12:32:25 2015 -0700
Committer: Benjamin Mahler <be...@gmail.com>
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;
 };