You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2011/06/05 07:01:03 UTC

svn commit: r1131715 - in /incubator/mesos/trunk: include/nexus_exec.hpp src/nexus_exec.cpp

Author: benh
Date: Sun Jun  5 05:01:03 2011
New Revision: 1131715

URL: http://svn.apache.org/viewvc?rev=1131715&view=rev
Log:
Driver update on Executor side.

Modified:
    incubator/mesos/trunk/include/nexus_exec.hpp
    incubator/mesos/trunk/src/nexus_exec.cpp

Modified: incubator/mesos/trunk/include/nexus_exec.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/include/nexus_exec.hpp?rev=1131715&r1=1131714&r2=1131715&view=diff
==============================================================================
--- incubator/mesos/trunk/include/nexus_exec.hpp (original)
+++ incubator/mesos/trunk/include/nexus_exec.hpp Sun Jun  5 05:01:03 2011
@@ -64,11 +64,11 @@ public:
   virtual ~ExecutorDriver() {}
 
   // Connect to a slave and run the scheduler until it is shut down
-  virtual void run() {}
+  virtual int run() { return -1; }
 
   // Communication methods from executor to Nexus
-  virtual void sendStatusUpdate(const TaskStatus& status) {}
-  virtual void sendFrameworkMessage(const FrameworkMessage& message) {}
+  virtual int sendStatusUpdate(const TaskStatus& status) { return -1; }
+  virtual int sendFrameworkMessage(const FrameworkMessage& message) { return -1; }
 };
 
 
@@ -84,9 +84,9 @@ public:
   NexusExecutorDriver(Executor* executor);
   virtual ~NexusExecutorDriver();
 
-  virtual void run();
-  virtual void sendStatusUpdate(const TaskStatus& status);
-  virtual void sendFrameworkMessage(const FrameworkMessage& message);
+  virtual int run();
+  virtual int sendStatusUpdate(const TaskStatus& status);
+  virtual int sendFrameworkMessage(const FrameworkMessage& message);
 
   // Executor getter; required by some of the SWIG proxies
   virtual Executor* getExecutor() { return executor; }

Modified: incubator/mesos/trunk/src/nexus_exec.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/nexus_exec.cpp?rev=1131715&r1=1131714&r2=1131715&view=diff
==============================================================================
--- incubator/mesos/trunk/src/nexus_exec.cpp (original)
+++ incubator/mesos/trunk/src/nexus_exec.cpp Sun Jun  5 05:01:03 2011
@@ -147,7 +147,7 @@ NexusExecutorDriver::~NexusExecutorDrive
 }
 
 
-void NexusExecutorDriver::run()
+int NexusExecutorDriver::run()
 {
   // Set stream buffering mode to flush on newlines so that we capture logs
   // from user processes even when output is redirected to a file.
@@ -188,17 +188,21 @@ void NexusExecutorDriver::run()
   Process::wait(Process::spawn(process));
 
   process = NULL;
+
+  return 0;
 }
 
 
-void NexusExecutorDriver::sendStatusUpdate(const TaskStatus &status)
+int NexusExecutorDriver::sendStatusUpdate(const TaskStatus &status)
 {
   Lock lock(&mutex);
 
   /* TODO(benh): Increment ref count on process. */
   
-  if (!process)
-    executor->error(this, EINVAL, "Executor has exited");
+  if (!process) {
+    //executor->error(this, EINVAL, "Executor has exited");
+    return -1;
+  }
 
   process->send(process->slave,
                 process->pack<E2S_STATUS_UPDATE>(process->fid,
@@ -207,23 +211,29 @@ void NexusExecutorDriver::sendStatusUpda
                                                  status.data));
 
   /* TODO(benh): Decrement ref count on process. */
+
+  return 0;
 }
 
 
-void NexusExecutorDriver::sendFrameworkMessage(const FrameworkMessage &message)
+int NexusExecutorDriver::sendFrameworkMessage(const FrameworkMessage &message)
 {
   Lock lock(&mutex);
 
   /* TODO(benh): Increment ref count on process. */
   
-  if (!process)
-    executor->error(this, EINVAL, "Executor has exited");
+  if (!process) {
+    //executor->error(this, EINVAL, "Executor has exited");
+    return -1;
+  }
 
   process->send(process->slave,
                 process->pack<E2S_FRAMEWORK_MESSAGE>(process->fid,
                                                      message));
 
   /* TODO(benh): Decrement ref count on process. */
+
+  return 0;
 }