- Timestamp:
- Feb 23, 2017, 5:10:50 PM (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:
- 6ce9f7c7
- Parents:
- ead8c7e
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/monitor
read8c7e r51f3798 30 30 void leave(monitor *); 31 31 32 struct monitor_guard { 33 monitor * m; 34 }; 35 36 static inline void ?{}( monitor_guard * this, monitor * m ) { 37 this->m = m; 38 enter( this->m ); 39 } 40 41 static inline void ^?{}( monitor_guard * this ) { 42 leave( this->m ); 43 } 44 32 45 #endif //MONITOR_H -
src/libcfa/concurrency/monitor.c
read8c7e r51f3798 44 44 45 45 unlock( &this->lock ); 46 46 47 if( this->holder ) ScheduleThread( this->holder ); 47 48 } -
src/tests/monitor.c
read8c7e r51f3798 16 16 17 17 void increment( /*mutex*/ global_t * this ) { 18 enter( &this->m );18 monitor_guard g = { &this->m }; 19 19 this->value += 1; 20 leave( &this->m );21 20 } 22 21
Note: See TracChangeset
for help on using the changeset viewer.