Changeset 639991a for src/libcfa/concurrency
- Timestamp:
- May 22, 2018, 2:43:09 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, with_gc
- Children:
- a1a17a74
- Parents:
- cac8a6e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/kernel.c
rcac8a6e r639991a 54 54 //----------------------------------------------------------------------------- 55 55 // Global state 56 57 // volatile thread_local bool preemption_in_progress = 0;58 // volatile thread_local bool preemption_enabled = false;59 // volatile thread_local unsigned short disable_preempt_count = 1;60 61 56 thread_local struct KernelThreadData kernelTLS = { 62 57 NULL, … … 697 692 else { 698 693 int len = snprintf( abort_text, abort_text_size, "Error occurred outside of any thread.\n" ); 694 __cfaabi_dbg_bits_write( abort_text, len ); 699 695 } 700 696 } … … 761 757 // Global Queues 762 758 void doregister( thread_desc & thrd ) { 763 // lock ( global_thread.lock);764 // push_front( global_thread.list, thrd );765 // unlock ( global_thread.lock );759 lock ( global_threads.lock __cfaabi_dbg_ctx2); 760 push_front( global_threads.list, thrd ); 761 unlock ( global_threads.lock ); 766 762 } 767 763 768 764 void unregister( thread_desc & thrd ) { 769 // lock ( global_thread.lock);770 // remove( global_thread.list, thrd );771 // unlock( global_thread.lock );765 lock ( global_threads.lock __cfaabi_dbg_ctx2); 766 remove( global_threads.list, thrd ); 767 unlock( global_threads.lock ); 772 768 } 773 769 774 770 void doregister( cluster & cltr ) { 775 // lock ( global_cluster.lock);776 // push_front( global_cluster.list, cltr );777 // unlock ( global_cluster.lock );771 lock ( global_clusters.lock __cfaabi_dbg_ctx2); 772 push_front( global_clusters.list, cltr ); 773 unlock ( global_clusters.lock ); 778 774 } 779 775 780 776 void unregister( cluster & cltr ) { 781 // lock ( global_cluster.lock);782 // remove( global_cluster.list, cltr );783 // unlock( global_cluster.lock );777 lock ( global_clusters.lock __cfaabi_dbg_ctx2); 778 remove( global_clusters.list, cltr ); 779 unlock( global_clusters.lock ); 784 780 } 785 781 786 782 787 783 void doregister( cluster * cltr, processor * proc ) { 788 //lock (cltr->proc_list_lock __cfaabi_dbg_ctx2);789 //push_front(cltr->procs, *proc);790 //unlock (cltr->proc_list_lock);784 lock (cltr->proc_list_lock __cfaabi_dbg_ctx2); 785 push_front(cltr->procs, *proc); 786 unlock (cltr->proc_list_lock); 791 787 } 792 788 793 789 void unregister( cluster * cltr, processor * proc ) { 794 //lock (cltr->proc_list_lock __cfaabi_dbg_ctx2);795 //remove(cltr->procs, *proc );796 //unlock(cltr->proc_list_lock);790 lock (cltr->proc_list_lock __cfaabi_dbg_ctx2); 791 remove(cltr->procs, *proc ); 792 unlock(cltr->proc_list_lock); 797 793 } 798 794
Note: See TracChangeset
for help on using the changeset viewer.