diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp index 3be26bd8e09894a5555703a4048979f231845760..a2008c74c57e5d0e84c6ba8b35a86f15020eb2a3 100644 --- a/src/caosdb/transaction.cpp +++ b/src/caosdb/transaction.cpp @@ -310,7 +310,7 @@ auto Transaction::ExecuteAsynchronously() noexcept -> StatusCode { handler_ = std::make_unique<UploadRequestHandler>( &handler_, file_service.get(), &completion_queue, file_descriptor); this->status = ProcessCalls(); - if (this->status.GetCode() != StatusCode::SUCCESS) { + if (this->status.GetCode() != StatusCode::EXECUTING) { return StatusCode::EXECUTING; } } @@ -357,6 +357,9 @@ auto Transaction::ExecuteAsynchronously() noexcept -> StatusCode { } auto Transaction::WaitForIt() const noexcept -> TransactionStatus { + if (this->status.GetCode() != StatusCode::EXECUTING) { + return this->status; + } bool set_error = false; auto *responses = this->response->mutable_responses(); std::vector<std::unique_ptr<Entity>> entities;