- File:
-
- 1 edited
-
libcfa/src/concurrency/pthread.cfa (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/pthread.cfa
r6b33e89 rc3d0182a 9 9 // Author : Zhenyan Zhu 10 10 // Created On : Sat Aug 6 16:29:18 2022 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Fri Apr 25 07:28:01202513 // Update Count : 411 // Last Modified By : Kyoung Seo 12 // Last Modified On : Mon Jan 27 20:35:00 2025 13 // Update Count : 1 14 14 // 15 15 … … 40 40 bool in_use; 41 41 void (* destructor)( void * ); 42 dlist( pthread_values ) threads;42 dlist( pthread_values ) threads; 43 43 }; 44 44 … … 543 543 // p.in_use = false; 544 544 // } 545 for ( pthread_values * p = &remove_first( cfa_pthread_keys[key].threads ); p; p = &remove_first( cfa_pthread_keys[key].threads ) ) { 546 p->in_use = false; 547 } 545 pthread_values * p = &try_pop_front( cfa_pthread_keys[key].threads ); 546 for ( ; p; ) { 547 p->in_use = false; 548 p = &try_pop_front( cfa_pthread_keys[key].threads ); 549 } 548 550 unlock(key_lock); 549 551 return 0; … … 601 603 //######################### Parallelism ######################### 602 604 void pthread_delete_kernel_threads_() __THROW { // see uMain::~uMain 603 604 for ( Pthread_kernel_threads * p = &remove_first(cfa_pthreads_kernel_threads); p; p = &remove_first(cfa_pthreads_kernel_threads) ) { 605 delete(p); 605 Pthread_kernel_threads * p = &try_pop_front(cfa_pthreads_kernel_threads); 606 for ( ; p; ) { 607 delete(p); 608 p = &try_pop_front(cfa_pthreads_kernel_threads); 606 609 } // for 607 610 } // pthread_delete_kernel_threads_ … … 623 626 } // for 624 627 for ( ; new_level < cfa_pthreads_no_kernel_threads; cfa_pthreads_no_kernel_threads -= 1 ) { // remove processors ? 625 delete(& remove_first(cfa_pthreads_kernel_threads));628 delete(&try_pop_front(cfa_pthreads_kernel_threads)); 626 629 } // for 627 630 unlock( concurrency_lock );
Note:
See TracChangeset
for help on using the changeset viewer.