Changeset a1538cd for libcfa/src/concurrency/kernel
- Timestamp:
- Mar 12, 2021, 4:30:39 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- df65c0c
- Parents:
- b1d83ba
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel/startup.cfa
rb1d83ba ra1538cd 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 );75 static void init(processor & this, const char name[], cluster & _cltr, void (*fnc) (void *), void * arg); 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 );200 init( this, "Main Processor", *mainCluster, 0p, 0p ); 201 201 kernel_thread = pthread_self(); 202 202 … … 452 452 } 453 453 454 static void init(processor & this, const char name[], cluster & _cltr ) with( this ) {454 static void init(processor & this, const char name[], cluster & _cltr, void (*fnc) (void *), void * arg) 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; 468 466 469 this.idle = eventfd(0, 0); 467 470 if (idle < 0) { … … 513 516 } 514 517 515 void ?{}(processor & this, const char name[], cluster & _cltr ) {518 void ?{}(processor & this, const char name[], cluster & _cltr, void (*fnc) (void *), void * arg) { 516 519 ( this.terminated ){}; 517 520 ( this.runner ){}; 518 521 519 522 disable_interrupts(); 520 init( this, name, _cltr );523 init( this, name, _cltr, fnc, arg ); 521 524 enable_interrupts( __cfaabi_dbg_ctx ); 522 525
Note: See TracChangeset
for help on using the changeset viewer.