Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/locks.hfa

    rdff1fd1 rc131a02  
    3636                uintptr_t info;
    3737                L * lock;
    38                 bool signalled;                                 // true when signalled and false when timeout wakes thread
     38                bool listed;                                    // true if info_thread is on queue, false otherwise;
    3939        };
    4040
     
    4646        info_thread(L) *& Back( info_thread(L) * this );
    4747        info_thread(L) *& Next( info_thread(L) * this );
     48        bool listed( info_thread(L) * this );
    4849}
    4950
     
    5152//// Blocking Locks
    5253///////////////////////////////////////////////////////////////////
     54
     55// struct lock_thread {
     56//      struct $thread * t;
     57//      lock_thread * next;
     58// };
     59
     60// void ?{}( lock_thread & this, struct $thread * thd );
     61// void ^?{}( lock_thread & this );
     62
     63// lock_thread *& get_next( lock_thread & );
    5364
    5465struct blocking_lock {
     
    172183        int counter( condition_variable(L) & this );
    173184
     185        // TODO: look into changing timout routines to return bool showing if signalled or woken by kernel
    174186        void wait( condition_variable(L) & this );
    175187        void wait( condition_variable(L) & this, uintptr_t info );
    176         bool wait( condition_variable(L) & this, Duration duration );
    177         bool wait( condition_variable(L) & this, uintptr_t info, Duration duration );
    178         bool wait( condition_variable(L) & this, Time time );
    179         bool wait( condition_variable(L) & this, uintptr_t info, Time time );
     188        void wait( condition_variable(L) & this, Duration duration );
     189        void wait( condition_variable(L) & this, uintptr_t info, Duration duration );
     190        void wait( condition_variable(L) & this, Time time );
     191        void wait( condition_variable(L) & this, uintptr_t info, Time time );
    180192
    181193        void wait( condition_variable(L) & this, L & l );
    182194        void wait( condition_variable(L) & this, L & l, uintptr_t info );
    183         bool wait( condition_variable(L) & this, L & l, Duration duration );
    184         bool wait( condition_variable(L) & this, L & l, uintptr_t info, Duration duration );
    185         bool wait( condition_variable(L) & this, L & l, Time time );
    186         bool wait( condition_variable(L) & this, L & l, uintptr_t info, Time time );
     195        void wait( condition_variable(L) & this, L & l, Duration duration );
     196        void wait( condition_variable(L) & this, L & l, uintptr_t info, Duration duration );
     197        void wait( condition_variable(L) & this, L & l, Time time );
     198        void wait( condition_variable(L) & this, L & l, uintptr_t info, Time time );
    187199}
Note: See TracChangeset for help on using the changeset viewer.