Changeset f6660520 for libcfa/src/concurrency/kernel.cfa
- Timestamp:
- Apr 30, 2020, 3:27:11 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 9987d79
- Parents:
- c59a346
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel.cfa
rc59a346 rf6660520 266 266 threads{ __get }; 267 267 268 __kernel_io_startup( this );268 __kernel_io_startup( this, &this == mainCluster ); 269 269 270 270 doregister(this); … … 272 272 273 273 void ^?{}(cluster & this) { 274 __kernel_io_shutdown( this );274 __kernel_io_shutdown( this, &this == mainCluster ); 275 275 276 276 unregister(this); … … 784 784 785 785 786 787 786 // THE SYSTEM IS NOW COMPLETELY RUNNING 788 __cfaabi_dbg_print_safe("Kernel : Started\n--------------------------------------------------\n\n"); 787 788 789 // Now that the system is up, finish creating systems that need threading 790 __kernel_io_finish_start( *mainCluster ); 791 792 793 __cfadbg_print_safe(runtime_core, "Kernel : Started\n--------------------------------------------------\n\n"); 789 794 790 795 verify( ! kernelTLS.preemption_state.enabled ); … … 794 799 795 800 static void __kernel_shutdown(void) { 796 __cfaabi_dbg_print_safe("\n--------------------------------------------------\nKernel : Shutting down\n"); 801 //Before we start shutting things down, wait for systems that need threading to shutdown 802 __kernel_io_prepare_stop( *mainCluster ); 797 803 798 804 /* paranoid */ verify( TL_GET( preemption_state.enabled ) ); 799 805 disable_interrupts(); 800 806 /* paranoid */ verify( ! kernelTLS.preemption_state.enabled ); 807 808 __cfadbg_print_safe(runtime_core, "\n--------------------------------------------------\nKernel : Shutting down\n"); 801 809 802 810 // SKULLDUGGERY: Notify the mainProcessor it needs to terminates.
Note: See TracChangeset
for help on using the changeset viewer.