Changeset 8dc8f68 for libcfa/src/concurrency/locks.hfa
- Timestamp:
- Aug 21, 2025, 11:14:05 PM (5 weeks ago)
- Branches:
- master
- Children:
- 31be464
- Parents:
- 1324fde
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/locks.hfa
r1324fde r8dc8f68 11 11 // Created On : Thu Jan 21 19:46:50 2021 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Fri Apr 25 07:14:16202514 // Update Count : 2 213 // Last Modified On : Thu Aug 21 22:36:44 2025 14 // Update Count : 23 15 15 // 16 16 … … 797 797 798 798 //----------------------------------------------------------------------------- 799 // cond ition_variable799 // cond_lock 800 800 801 801 // The multi-tool condition variable … … 805 805 // - has shadow queue 806 806 // - can be signalled outside of critical sections with no locks held 807 struct cond ition_variable{807 struct cond_lock { 808 808 // Spin lock used for mutual exclusion 809 809 __spinlock_t lock; … … 816 816 }; 817 817 818 void ?{}( cond ition_variable( L ) & this );819 void ^?{}( cond ition_variable( L ) & this );820 821 bool notify_one( cond ition_variable( L ) & this );822 bool notify_all( cond ition_variable( L ) & this );823 824 uintptr_t front( cond ition_variable( L ) & this );825 826 bool empty ( cond ition_variable( L ) & this );827 int counter( cond ition_variable( L ) & this );828 829 void wait( cond ition_variable( L ) & this );830 void wait( cond ition_variable( L ) & this, uintptr_t info );831 bool wait( cond ition_variable( L ) & this, Duration duration );832 bool wait( cond ition_variable( L ) & this, uintptr_t info, Duration duration );833 834 void wait( cond ition_variable( L ) & this, L & l );835 void wait( cond ition_variable( L ) & this, L & l, uintptr_t info );836 bool wait( cond ition_variable( L ) & this, L & l, Duration duration );837 bool wait( cond ition_variable( L ) & this, L & l, uintptr_t info, Duration duration );818 void ?{}( cond_lock( L ) & this ); 819 void ^?{}( cond_lock( L ) & this ); 820 821 bool notify_one( cond_lock( L ) & this ); 822 bool notify_all( cond_lock( L ) & this ); 823 824 uintptr_t front( cond_lock( L ) & this ); 825 826 bool empty ( cond_lock( L ) & this ); 827 int counter( cond_lock( L ) & this ); 828 829 void wait( cond_lock( L ) & this ); 830 void wait( cond_lock( L ) & this, uintptr_t info ); 831 bool wait( cond_lock( L ) & this, Duration duration ); 832 bool wait( cond_lock( L ) & this, uintptr_t info, Duration duration ); 833 834 void wait( cond_lock( L ) & this, L & l ); 835 void wait( cond_lock( L ) & this, L & l, uintptr_t info ); 836 bool wait( cond_lock( L ) & this, L & l, Duration duration ); 837 bool wait( cond_lock( L ) & this, L & l, uintptr_t info, Duration duration ); 838 838 839 839 //-----------------------------------------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.