Changeset a5e7233 for libcfa/src/concurrency/kernel
- Timestamp:
- Mar 17, 2021, 1:56:12 PM (3 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- c407434e
- Parents:
- e0c072c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel/startup.cfa
re0c072c ra5e7233 73 73 static void __kernel_first_resume( processor * this ); 74 74 static void __kernel_last_resume ( processor * this ); 75 static void init(processor & this, const char name[], cluster & _cltr, void (*fnc) (void *), void * arg);75 static void init(processor & this, const char name[], cluster & _cltr, $thread * initT); 76 76 static void deinit(processor & this); 77 77 static void doregister( struct cluster & cltr ); … … 198 198 ( this.terminated ){}; 199 199 ( this.runner ){}; 200 init( this, "Main Processor", *mainCluster, 0p , 0p);200 init( this, "Main Processor", *mainCluster, 0p ); 201 201 kernel_thread = pthread_self(); 202 202 … … 452 452 } 453 453 454 static void init(processor & this, const char name[], cluster & _cltr, void (*fnc) (void *), void * arg) with( this ) {454 static void init(processor & this, const char name[], cluster & _cltr, $thread * initT) with( this ) { 455 455 this.name = name; 456 456 this.cltr = &_cltr; … … 464 464 this.io.dirty = false; 465 465 466 this.init.fnc = fnc; 467 this.init.arg = arg; 466 this.init.thrd = initT; 468 467 469 468 this.idle = eventfd(0, 0); … … 516 515 } 517 516 518 void ?{}(processor & this, const char name[], cluster & _cltr, void (*fnc) (void *), void * arg) {517 void ?{}(processor & this, const char name[], cluster & _cltr, $thread * initT) { 519 518 ( this.terminated ){}; 520 519 ( this.runner ){}; 521 520 522 521 disable_interrupts(); 523 init( this, name, _cltr, fnc, arg);522 init( this, name, _cltr, initT ); 524 523 enable_interrupts( __cfaabi_dbg_ctx ); 525 524 … … 527 526 528 527 this.stack = __create_pthread( &this.kernel_thread, __invoke_processor, (void *)&this ); 529 528 } 529 530 void ?{}(processor & this, const char name[], cluster & _cltr) { 531 (this){name, _cltr, 0p}; 530 532 } 531 533
Note: See TracChangeset
for help on using the changeset viewer.