From 51d17b25964d292d02cf17d00188094ea8e8b222 Mon Sep 17 00:00:00 2001 From: Stephan Dilly Date: Mon, 29 Jun 2020 17:53:01 +0200 Subject: [PATCH] prevent stacking up more and more status requests (#156) --- asyncgit/src/status.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/asyncgit/src/status.rs b/asyncgit/src/status.rs index d005de1b..80baf472 100644 --- a/asyncgit/src/status.rs +++ b/asyncgit/src/status.rs @@ -85,9 +85,19 @@ impl AsyncStatus { &mut self, params: StatusParams, ) -> Result> { + if self.is_pending() { + log::trace!("request blocked, still pending"); + return Ok(None); + } + let hash_request = hash(¶ms); - log::trace!("request: [hash: {}]", hash_request); + log::trace!( + "request: [hash: {}] (type: {:?}, untracked: {})", + hash_request, + params.status_type, + params.include_untracked, + ); { let mut current = self.current.lock()?; @@ -138,7 +148,7 @@ impl AsyncStatus { let res = Self::get_status(status_type, include_untracked)?; log::trace!( "status fetched: {} (type: {:?}, untracked: {})", - hash(&res), + hash_request, status_type, include_untracked );