|
0 |
From e11aad9ff20deede59e89a00c62908ffb30b8fb6 Mon Sep 17 00:00:00 2001
|
|
1 |
From: Aaron Hill <aa1ronham@gmail.com>
|
|
2 |
Date: Sun, 7 Jul 2019 14:47:20 -0400
|
|
3 |
Subject: [PATCH] Update crossbeam-deque to 0.7
|
|
4 |
|
|
5 |
The only substantive change is to 'take_local_job'.
|
|
6 |
'Worker::pop` now returns a plain 'Option<T>', so there's
|
|
7 |
no need to loop anymore
|
|
8 |
|
|
9 |
diff --git a/src/iter/par_bridge.rs b/src/iter/par_bridge.rs
|
|
10 |
index b366de69..bc938e46 100644
|
|
11 |
--- a/src/iter/par_bridge.rs
|
|
12 |
+++ b/src/iter/par_bridge.rs
|
|
13 |
@@ -79,7 +79,8 @@ where
|
|
14 |
C: UnindexedConsumer<Self::Item>,
|
|
15 |
{
|
|
16 |
let split_count = AtomicUsize::new(current_num_threads());
|
|
17 |
- let (worker, stealer) = deque::fifo();
|
|
18 |
+ let worker = deque::Worker::new_fifo();
|
|
19 |
+ let stealer = worker.stealer();
|
|
20 |
let done = AtomicBool::new(false);
|
|
21 |
let iter = Mutex::new((self.iter, worker));
|
|
22 |
|
|
23 |
@@ -149,7 +150,7 @@ where
|
|
24 |
{
|
|
25 |
loop {
|
|
26 |
match self.items.steal() {
|
|
27 |
- Steal::Data(it) => {
|
|
28 |
+ Steal::Success(it) => {
|
|
29 |
folder = folder.consume(it);
|
|
30 |
if folder.full() {
|
|
31 |
return folder;
|