Changes in src/libcfa/concurrency/monitor [cc7f4b1:51f3798]
- File:
-
- 1 edited
-
src/libcfa/concurrency/monitor (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/monitor
rcc7f4b1 r51f3798 21 21 #include "invoke.h" 22 22 23 struct __monitor_t{23 struct monitor { 24 24 spinlock lock; 25 thread * owner;25 thread * holder; 26 26 simple_thread_list entry_queue; 27 unsigned int recursion;28 27 }; 29 28 30 static inline void ?{}(__monitor_t * this) { 31 this->owner = 0; 32 this->recursion = 0; 33 } 29 void enter(monitor *); 30 void leave(monitor *); 34 31 35 void enter(__monitor_t *); 36 void leave(__monitor_t *); 37 38 struct monitor_guard_t { 39 __monitor_t * m; 32 struct monitor_guard { 33 monitor * m; 40 34 }; 41 35 42 static inline void ?{}( monitor_guard _t * this, __monitor_t* m ) {36 static inline void ?{}( monitor_guard * this, monitor * m ) { 43 37 this->m = m; 44 38 enter( this->m ); 45 39 } 46 40 47 static inline void ^?{}( monitor_guard _t* this ) {41 static inline void ^?{}( monitor_guard * this ) { 48 42 leave( this->m ); 49 43 }
Note:
See TracChangeset
for help on using the changeset viewer.