Changeset e6e250d for libcfa/src/concurrency
- Timestamp:
- Mar 29, 2026, 11:03:25 PM (9 days ago)
- Branches:
- master
- Children:
- c1f17aa
- Parents:
- 81ab5eb
- Location:
- libcfa/src/concurrency
- Files:
-
- 4 edited
-
channel.hfa (modified) (1 diff)
-
future.hfa (modified) (2 diffs)
-
locks.cfa (modified) (3 diffs)
-
locks.hfa (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/channel.hfa
r81ab5eb re6e250d 369 369 /////////////////////////////////////////////////////////////////////////////////////////// 370 370 bool unregister_chan( channel(T) & chan, select_node & node ) with(chan) { 371 if ( ! isListed( node ) && ! node.park_counter ) return false; // handle special OR case371 if ( ! listed( node ) && ! node.park_counter ) return false; // handle special OR case 372 372 lock( mutex_lock ); 373 if ( isListed( node ) ) { // op wasn't performed373 if ( listed( node ) ) { // op wasn't performed 374 374 remove( node ); 375 375 unlock( mutex_lock ); -
libcfa/src/concurrency/future.hfa
r81ab5eb re6e250d 10 10 // Created On : Wed Jan 06 17:33:18 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Mar 29 2 1:13:04202613 // Update Count : 22 312 // Last Modified On : Sun Mar 29 22:47:01 2026 13 // Update Count : 224 14 14 // 15 15 … … 79 79 80 80 bool unregister_select$( future(T) & fut, select_node & s ) with( fut ) { // for waituntil statement 81 if ( ! isListed( s ) ) return false;82 lock( lock ); 83 if ( isListed( s ) ) remove( s );81 if ( ! listed( s ) ) return false; 82 lock( lock ); 83 if ( listed( s ) ) remove( s ); 84 84 unlock( lock ); 85 85 return false; -
libcfa/src/concurrency/locks.cfa
r81ab5eb re6e250d 220 220 bool unregister_select$( blocking_lock & this, select_node & node ) with(this) { 221 221 lock( lock __cfaabi_dbg_ctx2 ); 222 if ( isListed( node ) ) {222 if ( listed( node ) ) { 223 223 remove( node ); 224 224 wait_count--; … … 265 265 // may still be called after a thread has been removed from the queue but 266 266 // before the alarm is unregistered 267 if ( isListed( *info_thd ) ) { // is thread on queue267 if ( listed( *info_thd ) ) { // is thread on queue 268 268 info_thd->signalled = false; 269 269 // remove this thread O(1) … … 304 304 // may still be called after a thread has been removed from the queue but 305 305 // before the alarm is unregistered 306 if ( isListed( *info_thd ) ) { // is thread on queue306 if ( listed( *info_thd ) ) { // is thread on queue 307 307 info_thd->signalled = false; 308 308 // remove this thread O(1) -
libcfa/src/concurrency/locks.hfa
r81ab5eb re6e250d 11 11 // Created On : Thu Jan 21 19:46:50 2021 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Sun Nov 23 22:38:45 202514 // Update Count : 6 713 // Last Modified On : Sun Mar 29 22:46:39 2026 14 // Update Count : 68 15 15 // 16 16 … … 645 645 static inline bool unregister_select$( simple_owner_lock & this, select_node & node ) with( this ) { 646 646 lock( lock __cfaabi_dbg_ctx2 ); 647 if ( isListed( node ) ) {647 if ( listed( node ) ) { 648 648 remove( node ); 649 649 unlock( lock );
Note:
See TracChangeset
for help on using the changeset viewer.