Changeset c40e7c5
- Timestamp:
- Feb 12, 2018, 11:57:50 AM (7 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, resolv-new, with_gc
- Children:
- d56ca354
- Parents:
- eb7f20c
- Location:
- src/libcfa/concurrency
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/alarm.c
reb7f20c rc40e7c5 41 41 void ?{}( __cfa_time_t & this, zero_t zero ) { this.val = 0; } 42 42 43 void ?{}( itimerval & this, __cfa_time_t * alarm ) {44 this.it_value.tv_sec = alarm->val / one_second; // seconds45 this.it_value.tv_usec = max( (alarm->val % one_second) / one_microsecond, 1000 ); // microseconds46 this.it_interval.tv_sec = 0;47 this.it_interval.tv_usec = 0;43 void ?{}( itimerval & this, __cfa_time_t * alarm ) with( this ) { 44 it_value.tv_sec = alarm->val / one_second; // seconds 45 it_value.tv_usec = max( (alarm->val % one_second) / one_microsecond, 1000 ); // microseconds 46 it_interval.tv_sec = 0; 47 it_interval.tv_usec = 0; 48 48 } 49 49 … … 84 84 //============================================================================================= 85 85 86 void ?{}( alarm_node_t & this, thread_desc * thrd, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time ) {86 void ?{}( alarm_node_t & this, thread_desc * thrd, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time ) with( this ) { 87 87 this.thrd = thrd; 88 88 this.alarm = alarm; 89 89 this.period = period; 90 this.next = 0;91 this.set = false;92 this.kernel_alarm = false;93 } 94 95 void ?{}( alarm_node_t & this, processor * proc, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time ) {90 next = 0; 91 set = false; 92 kernel_alarm = false; 93 } 94 95 void ?{}( alarm_node_t & this, processor * proc, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time ) with( this ) { 96 96 this.proc = proc; 97 97 this.alarm = alarm; 98 98 this.period = period; 99 this.next = 0;100 this.set = false;101 this.kernel_alarm = true;99 next = 0; 100 set = false; 101 kernel_alarm = true; 102 102 } 103 103 -
src/libcfa/concurrency/alarm.h
reb7f20c rc40e7c5 114 114 }; 115 115 116 static inline void ?{}( alarm_list_t & this ) {117 this.head = 0;118 t his.tail = &this.head;116 static inline void ?{}( alarm_list_t & this ) with( this ) { 117 head = 0; 118 tail = &head; 119 119 } 120 120 -
src/libcfa/concurrency/coroutine.c
reb7f20c rc40e7c5 39 39 //----------------------------------------------------------------------------- 40 40 // Coroutine ctors and dtors 41 void ?{}(coStack_t& this) {42 this.size = 65000; // size of stack43 this.storage = NULL; // pointer to stack44 this.limit = NULL; // stack grows towards stack limit45 this.base = NULL; // base of stack46 this.context = NULL; // address of cfa_context_t47 t his.top = NULL; // address of top of storage48 this.userStack = false;41 void ?{}(coStack_t& this) with( this ) { 42 size = 65000; // size of stack 43 storage = NULL; // pointer to stack 44 limit = NULL; // stack grows towards stack limit 45 base = NULL; // base of stack 46 context = NULL; // address of cfa_context_t 47 top = NULL; // address of top of storage 48 userStack = false; 49 49 } 50 50 … … 60 60 } 61 61 62 void ?{}(coroutine_desc& this, const char * name) {62 void ?{}(coroutine_desc& this, const char * name) with( this ) { 63 63 this.name = name; 64 this.errno_ = 0;65 this.state = Start;66 this.starter = NULL;67 this.last = NULL;64 errno_ = 0; 65 state = Start; 66 starter = NULL; 67 last = NULL; 68 68 } 69 69 -
src/libcfa/concurrency/kernel.c
reb7f20c rc40e7c5 144 144 } 145 145 146 void ?{}(processor & this, cluster * cltr) {146 void ?{}(processor & this, cluster * cltr) with( this ) { 147 147 this.cltr = cltr; 148 t his.terminated{ 0 };149 this.do_terminate = false;150 this.preemption_alarm = NULL;151 this.pending_preemption = false;148 terminated{ 0 }; 149 do_terminate = false; 150 preemption_alarm = NULL; 151 pending_preemption = false; 152 152 153 153 start( &this ); 154 154 } 155 155 156 void ?{}(processor & this, cluster * cltr, processorCtx_t & runner) {156 void ?{}(processor & this, cluster * cltr, processorCtx_t & runner) with( this ) { 157 157 this.cltr = cltr; 158 t his.terminated{ 0 };159 this.do_terminate = false;160 this.preemption_alarm = NULL;161 this.pending_preemption = false;162 this.kernel_thread = pthread_self();158 terminated{ 0 }; 159 do_terminate = false; 160 preemption_alarm = NULL; 161 pending_preemption = false; 162 kernel_thread = pthread_self(); 163 163 164 164 this.runner = &runner; -
src/libcfa/concurrency/monitor
reb7f20c rc40e7c5 27 27 }; 28 28 29 static inline void ?{}(monitor_desc & this) {30 (this.lock){};31 (this.entry_queue){};32 (this.signal_stack){};33 this.owner = NULL;34 this.recursion = 0;35 this.mask.accepted = NULL;36 this.mask.data = NULL;37 this.mask.size = 0;38 this.dtor_node = NULL;29 static inline void ?{}(monitor_desc & this) with( this ) { 30 lock{}; 31 entry_queue{}; 32 signal_stack{}; 33 owner = NULL; 34 recursion = 0; 35 mask.accepted = NULL; 36 mask.data = NULL; 37 mask.size = 0; 38 dtor_node = NULL; 39 39 } 40 40 -
src/libcfa/concurrency/monitor.c
reb7f20c rc40e7c5 358 358 } 359 359 360 void ?{}(__condition_criterion_t & this ) {361 this.ready = false;362 t his.target = NULL;363 this.owner = NULL;364 this.next = NULL;360 void ?{}(__condition_criterion_t & this ) with( this ) { 361 ready = false; 362 target = NULL; 363 owner = NULL; 364 next = NULL; 365 365 } 366 366
Note: See TracChangeset
for help on using the changeset viewer.