Просмотр исходного кода

minerd: fill stop signal channel only if its empty on stop

skoupidi 1 год назад
Родитель
Сommit
bc827fcc57
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      bin/minerd/src/lib.rs

+ 4 - 2
bin/minerd/src/lib.rs

@@ -133,7 +133,9 @@ impl Minerd {
 
         // Stop the mining node
         info!(target: "minerd::Minerd::stop", "Stopping miner threads...");
-        self.node.sender.send(()).await?;
+        if self.node.stop_signal.is_empty() {
+            self.node.sender.send(()).await?;
+        }
         while self.node.stop_signal.receiver_count() > 1 {
             sleep(1).await;
         }
@@ -226,7 +228,7 @@ fn minerd_programmatic_control() -> Result<()> {
                 // Send a mining job but stop the daemon after it starts mining
                 smol::future::or(
                     async {
-                        rpc_client.request(mining_job).await.unwrap();
+                        let _ = rpc_client.request(mining_job).await;
                     },
                     async {
                         // Wait node to start mining