• Home
  • Raw
  • Download

Lines Matching full:shared_data

102     shared_data: &'a Arc<ThreadPoolSharedData>,  field
107 fn new(shared_data: &'a Arc<ThreadPoolSharedData>) -> Sentinel<'a> { in new()
109 shared_data: shared_data, in new()
123 self.shared_data.active_count.fetch_sub(1, Ordering::SeqCst); in drop()
125 self.shared_data.panic_count.fetch_add(1, Ordering::SeqCst); in drop()
127 self.shared_data.no_work_notify_all(); in drop()
128 spawn_in_pool(self.shared_data.clone()) in drop()
286 let shared_data = Arc::new(ThreadPoolSharedData { in build() localVariable
301 spawn_in_pool(shared_data.clone()); in build()
306 shared_data: shared_data, in build()
348 shared_data: Arc<ThreadPoolSharedData>, field
431 self.shared_data.queued_count.fetch_add(1, Ordering::SeqCst); in execute()
457 self.shared_data.queued_count.load(Ordering::Relaxed) in queued_count()
480 self.shared_data.active_count.load(Ordering::SeqCst) in active_count()
497 self.shared_data.max_thread_count.load(Ordering::Relaxed) in max_count()
521 self.shared_data.panic_count.load(Ordering::Relaxed) in panic_count()
573 .shared_data in set_num_threads()
579 spawn_in_pool(self.shared_data.clone()); in set_num_threads()
617 if self.shared_data.has_work() == false { in join()
621 let generation = self.shared_data.join_generation.load(Ordering::SeqCst); in join()
622 let mut lock = self.shared_data.empty_trigger.lock().unwrap(); in join()
624 while generation == self.shared_data.join_generation.load(Ordering::Relaxed) in join()
625 && self.shared_data.has_work() in join()
627 lock = self.shared_data.empty_condvar.wait(lock).unwrap(); in join()
631 self.shared_data.join_generation.compare_and_swap( in join()
679 shared_data: self.shared_data.clone(), in clone()
696 .field("name", &self.shared_data.name) in fmt()
721 let a: &ThreadPoolSharedData = &*self.shared_data; in eq()
722 let b: &ThreadPoolSharedData = &*other.shared_data; in eq()
725 // Arc::ptr_eq(&self.shared_data, &other.shared_data) in eq()
730 fn spawn_in_pool(shared_data: Arc<ThreadPoolSharedData>) { in spawn_in_pool()
732 if let Some(ref name) = shared_data.name { in spawn_in_pool()
735 if let Some(ref stack_size) = shared_data.stack_size { in spawn_in_pool()
741 let sentinel = Sentinel::new(&shared_data); in spawn_in_pool()
745 let thread_counter_val = shared_data.active_count.load(Ordering::Acquire); in spawn_in_pool()
746 let max_thread_count_val = shared_data.max_thread_count.load(Ordering::Relaxed); in spawn_in_pool()
753 let lock = shared_data in spawn_in_pool()
766 shared_data.active_count.fetch_add(1, Ordering::SeqCst); in spawn_in_pool()
767 shared_data.queued_count.fetch_sub(1, Ordering::SeqCst); in spawn_in_pool()
771 shared_data.active_count.fetch_sub(1, Ordering::SeqCst); in spawn_in_pool()
772 shared_data.no_work_notify_all(); in spawn_in_pool()