From 4be96a97d727b500b3ff4cc3f40a3434a3d5afd9 Mon Sep 17 00:00:00 2001 From: Jerin Philip Date: Tue, 27 Apr 2021 15:04:23 +0000 Subject: [PATCH] Handle empty translation requests Fixes https://github.com/browsermt/bergamot-translator/issues/101. ResponseBuilder is called with empty histories to trigger a valid but mostly-empty response. --- src/translator/request.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/translator/request.cpp b/src/translator/request.cpp index 7e9b739..8e46533 100644 --- a/src/translator/request.cpp +++ b/src/translator/request.cpp @@ -20,6 +20,13 @@ Request::Request(size_t Id, Segments &&segments, counter_ = segments_.size(); histories_.resize(segments_.size(), nullptr); + + // If there are no segments_, we are never able to trigger the responseBuilder + // calls from a different thread. However, in this case we want an empty valid + // response. + if (segments_.size() == 0) { + responseBuilder_(std::move(histories_)); + } } size_t Request::numSegments() const { return segments_.size(); }