- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/locks.cfa
rd25b2d6 r4aeaee5 29 29 30 30 void ^?{}( info_thread(L) & this ){ } 31 32 info_thread(L) *& Back( info_thread(L) * this ) {33 return (info_thread(L) *)Back( (Seqable *)this );34 }35 36 info_thread(L) *& Next( info_thread(L) * this ) {37 return (info_thread(L) *)Next( (Colable *)this );38 }39 40 bool listed( info_thread(L) * this ) {41 return Next( (Colable *)this ) != 0p;42 }43 31 } 44 32 … … 70 58 abort("A single acquisition lock holder attempted to reacquire the lock resulting in a deadlock."); 71 59 } else if ( owner != 0p && owner != active_thread() ) { 72 a ddTail( blocked_threads, *active_thread() );60 append( blocked_threads, active_thread() ); 73 61 wait_count++; 74 62 unlock( lock ); … … 108 96 109 97 void pop_and_set_new_owner( blocking_lock & this ) with( this ) { 110 $thread * t = &dropHead( blocked_threads );98 $thread * t = pop_head( blocked_threads ); 111 99 owner = t; 112 100 recursion_count = ( t ? 1 : 0 ); … … 140 128 lock( lock __cfaabi_dbg_ctx2 ); 141 129 if ( owner != 0p ) { 142 a ddTail( blocked_threads, *t );130 append( blocked_threads, t ); 143 131 wait_count++; 144 132 unlock( lock ); … … 269 257 size_t recursion_count = 0; 270 258 if (i->lock) { 259 i->t->link.next = 1p; 271 260 recursion_count = get_recursion_count(*i->lock); 272 261 remove_( *i->lock );
Note: See TracChangeset
for help on using the changeset viewer.