diff options
Diffstat (limited to 'executor')
| -rw-r--r-- | executor/executor.cc | 2 | ||||
| -rw-r--r-- | executor/executor_runner.h | 2 |
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_) |
