Changes in src/libcfa/concurrency/monitor [6b0b624:80c72a7]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/monitor
r6b0b624 r80c72a7 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.