Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h
Show First 20 Lines • Show All 1,017 Lines • ▼ Show 20 Lines | Error appendCallAsync(HandlerT Handler, const ArgTs &... Args) { | ||||
// Look up the function ID. | // Look up the function ID. | ||||
FunctionIdT FnId; | FunctionIdT FnId; | ||||
if (auto FnIdOrErr = getRemoteFunctionId<Func>(LazyAutoNegotiation, false)) | if (auto FnIdOrErr = getRemoteFunctionId<Func>(LazyAutoNegotiation, false)) | ||||
FnId = *FnIdOrErr; | FnId = *FnIdOrErr; | ||||
else { | else { | ||||
// Negotiation failed. Notify the handler then return the negotiate-failed | // Negotiation failed. Notify the handler then return the negotiate-failed | ||||
// error. | // error. | ||||
cantFail(Handler(make_error<ResponseAbandoned>())); | llvm_cantFail(Handler(make_error<ResponseAbandoned>())); | ||||
return FnIdOrErr.takeError(); | return FnIdOrErr.takeError(); | ||||
} | } | ||||
SequenceNumberT SeqNo; // initialized in locked scope below. | SequenceNumberT SeqNo; // initialized in locked scope below. | ||||
{ | { | ||||
// Lock the pending responses map and sequence number manager. | // Lock the pending responses map and sequence number manager. | ||||
std::lock_guard<std::mutex> Lock(ResponsesMutex); | std::lock_guard<std::mutex> Lock(ResponsesMutex); | ||||
▲ Show 20 Lines • Show All 656 Lines • Show Last 20 Lines |