aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2024-05-09 23:20:31 +1000
committerLang Hames <lhames@gmail.com>2024-05-09 23:24:45 +1000
commitcbf1535cc813b2f226498d974c43675832abc233 (patch)
tree8e8fa787e4e397e5451392f3016b990aeae1fba3 /llvm/lib/ExecutionEngine
parentc73516af10f800d0d5641651eefce128b866a155 (diff)
downloadllvm-cbf1535cc813b2f226498d974c43675832abc233.zip
llvm-cbf1535cc813b2f226498d974c43675832abc233.tar.gz
llvm-cbf1535cc813b2f226498d974c43675832abc233.tar.bz2
[ORC] Fix fall-through in error case in EPCGenericDylibManager::lookupAsync.
In the event of a serialization error (e.g. due to a network dropout) we should only run the Complete handler once, passing the serialization error value. No test-case: This would require a deliberately injected failure in a remote-JIT test and we don't have the infrastructure for that at the moment. rdar://126772381
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp b/llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
index 6a7cab4..7c0d890 100644
--- a/llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
@@ -109,6 +109,7 @@ void EPCGenericDylibManager::lookupAsync(tpctypes::DylibHandle H,
if (SerializationErr) {
cantFail(Result.takeError());
Complete(std::move(SerializationErr));
+ return;
}
Complete(std::move(Result));
},