Changeset 1cb758f2 for src/libcfa/concurrency/monitor
- Timestamp:
- Aug 27, 2017, 11:26:26 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:
- 111a8af8, 26238c1, 7ee1e2f6
- Parents:
- 0c6596f (diff), eca3d10 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/monitor
r0c6596f r1cb758f2 23 23 24 24 static inline void ?{}(monitor_desc & this) { 25 (this.lock){}; 25 26 this.owner = NULL; 27 (this.entry_queue){}; 28 (this.signal_stack){}; 26 29 this.recursion = 0; 30 this.acceptables = NULL; 31 this.acceptable_count = 0; 32 this.accepted_index = -1; 27 33 } 28 34 … … 32 38 monitor_desc ** prev_mntrs; 33 39 unsigned short prev_count; 40 fptr_t prev_func; 34 41 }; 35 42 … … 38 45 } 39 46 40 void ?{}( monitor_guard_t & this, monitor_desc ** m, int count );47 void ?{}( monitor_guard_t & this, monitor_desc ** m, int count, void (*func)() ); 41 48 void ^?{}( monitor_guard_t & this ); 42 49 … … 89 96 uintptr_t front( condition * this ); 90 97 98 //----------------------------------------------------------------------------- 99 // External scheduling 100 91 101 struct __acceptable_t { 92 void (*func)(void);102 fptr_t func; 93 103 unsigned short count; 94 monitor_desc * monitors[1];104 monitor_desc ** monitors; 95 105 }; 96 106 97 void __accept_internal( unsigned short count, __acceptable_t * acceptables, void (*func)(void));107 int __accept_internal( unsigned short count, __acceptable_t * acceptables ); 98 108 99 109 // Local Variables: //
Note: See TracChangeset
for help on using the changeset viewer.