Changeset 9bb6c5f for libcfa/src/concurrency/future.hfa
- Timestamp:
- Sep 5, 2024, 3:57:05 PM (3 months ago)
- Branches:
- master
- Children:
- 29c8675
- Parents:
- ad47ec4 (diff), 508cff0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/future.hfa
rad47ec4 r9bb6c5f 88 88 if ( s.clause_status == 0p ) // poke in result so that woken threads do not need to reacquire any locks 89 89 copy_T( result, *(((future_node(T) &)s).my_result) ); 90 90 91 91 wake_one( waiters, s ); 92 92 } … … 146 146 } 147 147 unlock( lock ); 148 148 149 149 return [ret_val, false]; 150 150 } … … 154 154 155 155 // check if we can complete operation. If so race to establish winner in special OR case 156 if ( !s.park_counter && state != FUTURE_EMPTY ) { 156 if ( !s.park_counter && state != FUTURE_EMPTY ) { 157 157 if ( !__make_select_node_available( s ) ) { // we didn't win the race so give up on registering 158 158 unlock( lock ); … … 180 180 return false; 181 181 } 182 182 183 183 bool on_selected( future(T) & this, select_node & node ) { return true; } 184 184 }
Note: See TracChangeset
for help on using the changeset viewer.