aboutsummaryrefslogtreecommitdiffstats
path: root/executor
diff options
context:
space:
mode:
Diffstat (limited to 'executor')
-rw-r--r--executor/executor.cc2
-rw-r--r--executor/executor_runner.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/executor/executor.cc b/executor/executor.cc
index 055957e9f..b550fc0cf 100644
--- a/executor/executor.cc
+++ b/executor/executor.cc
@@ -1334,7 +1334,7 @@ flatbuffers::span<uint8_t> finish_output(OutputData* output, int proc_id, uint64
flatbuffers::Offset<flatbuffers::Vector<uint8_t>> output_off = 0;
if (process_output)
output_off = fbb.CreateVector(*process_output);
- auto exec_off = rpc::CreateExecResultRaw(fbb, req_id, output_off, error_off, prog_info_off);
+ auto exec_off = rpc::CreateExecResultRaw(fbb, req_id, proc_id, output_off, error_off, prog_info_off);
auto msg_off = rpc::CreateExecutorMessageRaw(fbb, rpc::ExecutorMessagesRaw::ExecResult,
flatbuffers::Offset<void>(exec_off.o));
fbb.FinishSizePrefixed(msg_off);
diff --git a/executor/executor_runner.h b/executor/executor_runner.h
index 96fcc9b44..5229fa1a7 100644
--- a/executor/executor_runner.h
+++ b/executor/executor_runner.h
@@ -55,6 +55,8 @@ public:
{
if (state_ != State::Started && state_ != State::Idle)
return false;
+ if (msg.avoid & (1ull << id_))
+ return false;
if (msg_)
fail("already have pending msg");
if (wait_start_)