From f7c27b604f32cbd10ec42f70d3fec3ff79cacc63 Mon Sep 17 00:00:00 2001 From: Frojdholm Date: Thu, 2 Jun 2022 09:54:11 +0200 Subject: [PATCH] Ignore SendErrors when handling grammars (#2641) When handling grammars, fetching and building is done in a thread pool. Results are communicated over channels and the receiving channel is closed on first error. This causes subsequent sends to fail causing a mess in stderr. This ignores all SendErrors causing only the first error to be printed. --- helix-loader/src/grammar.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/helix-loader/src/grammar.rs b/helix-loader/src/grammar.rs index d2769d81f..7aa9bc834 100644 --- a/helix-loader/src/grammar.rs +++ b/helix-loader/src/grammar.rs @@ -133,7 +133,9 @@ where let tx = tx.clone(); pool.execute(move || { - tx.send(job(grammar)).unwrap(); + // Ignore any SendErrors, if any job in another thread has encountered an + // error the Receiver will be closed causing this send to fail. + let _ = tx.send(job(grammar)); }); }