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;
}