mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-20 14:28:37 +00:00
Upgrade to tokio 0.3 (#1839)
## Description This PR updates Lighthouse to tokio 0.3. It includes a number of dependency updates and some structural changes as to how we create and spawn tasks. This also brings with it a number of various improvements: - Discv5 update - Libp2p update - Fix for recompilation issues - Improved UPnP port mapping handling - Futures dependency update - Log downgrade to traces for rejecting peers when we've reached our max Co-authored-by: blacktemplar <blacktemplar@a1.net>
This commit is contained in:
@@ -58,16 +58,14 @@ impl<E: EthSpec, S: 'static + Send + Sync> Handler<E, S> {
|
||||
let (req_parts, _) = self.req.into_parts();
|
||||
let req = Request::from_parts(req_parts, body);
|
||||
|
||||
// NOTE: The task executor now holds a weak reference to the global runtime. On shutdown
|
||||
// there may be no runtime available.
|
||||
// All these edge cases must be handled here.
|
||||
let value = executor
|
||||
.runtime_handle()
|
||||
.spawn_blocking(move || func(req, ctx))
|
||||
.spawn_blocking_handle(move || func(req, ctx), "remote_signer_request")
|
||||
.ok_or_else(|| ApiError::ServerError("Runtime does not exist".to_string()))?
|
||||
.await
|
||||
.map_err(|e| {
|
||||
ApiError::ServerError(format!(
|
||||
"Failed to get blocking join handle: {}",
|
||||
e.to_string()
|
||||
))
|
||||
})??;
|
||||
.map_err(|_| ApiError::ServerError("Panic during execution".to_string()))??;
|
||||
|
||||
Ok(HandledRequest { value })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user