summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/solvers/gpu/host.rs2
-rw-r--r--src/solvers/gpu/output.rs19
2 files changed, 12 insertions, 9 deletions
diff --git a/src/solvers/gpu/host.rs b/src/solvers/gpu/host.rs
index d67138e..4fe835a 100644
--- a/src/solvers/gpu/host.rs
+++ b/src/solvers/gpu/host.rs
@@ -68,7 +68,7 @@ impl Host {
output_sender,
};
let handle = std::thread::Builder::new()
- .name("GPU Deamon".into())
+ .name("GPU Host Deamon".into())
.spawn(move || {
solver.run();
})
diff --git a/src/solvers/gpu/output.rs b/src/solvers/gpu/output.rs
index 4e52ab4..9cbef1a 100644
--- a/src/solvers/gpu/output.rs
+++ b/src/solvers/gpu/output.rs
@@ -30,15 +30,18 @@ impl InBuffer {
.expect("Channel to Output Daemon broke")
{
Message::ResultMessage(results) => {
- if let Some(result_walls) = self.row_requests.get(&results.id) {
- return Some(Self::calc_results(
- results.valid_walls().as_ref(),
- result_walls,
- ));
- } else {
- if results.data.iter().any(|x| *x != 0) {
- self.results_requests.insert(results.id, results);
+ if results.data.iter().any(|x| *x != 0) {
+ println!("Horay results!");
+ if let Some(result_walls) = self.row_requests.get(&results.id) {
+ return Some(Self::calc_results(
+ results.valid_walls().as_ref(),
+ result_walls,
+ ));
} else {
+ self.results_requests.insert(results.id, results);
+ }
+ } else {
+ if self.row_requests.remove(&results.id).is_none() {
self.banned_requests.insert(results.id);
}
}