diff options
author | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-08-28 16:27:26 +0200 |
---|---|---|
committer | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-08-28 16:27:26 +0200 |
commit | 6785aa4cb56833131b69f4d2b44301908b1a1b4c (patch) | |
tree | d9dc6ec7a3c45291f44ae3e8d707200a1b1da410 /src/router/workers.rs | |
parent | Renamed confirmed -> initator on keypair (diff) | |
download | wireguard-rs-6785aa4cb56833131b69f4d2b44301908b1a1b4c.tar.xz wireguard-rs-6785aa4cb56833131b69f4d2b44301908b1a1b4c.zip |
Join with worker threads on device drop
Diffstat (limited to 'src/router/workers.rs')
-rw-r--r-- | src/router/workers.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/router/workers.rs b/src/router/workers.rs index 1fd2cdf..4861847 100644 --- a/src/router/workers.rs +++ b/src/router/workers.rs @@ -208,7 +208,7 @@ pub fn worker_parallel<T: Opaque, S: Callback<T>, R: Callback<T>, K: KeyCallback local: Worker<JobParallel>, // local job queue (local to thread) stealers: Vec<Stealer<JobParallel>>, // stealers (from other threads) ) { - while !device.running.load(Ordering::SeqCst) { + while device.running.load(Ordering::SeqCst) { match find_task(&local, &device.injector, &stealers) { Some(job) => { let (handle, buf) = job; @@ -262,7 +262,6 @@ pub fn worker_parallel<T: Opaque, S: Callback<T>, R: Callback<T>, K: KeyCallback handle.thread().unpark(); } None => { - // no jobs, park the worker device.parked.store(true, Ordering::Release); thread::park(); } |