Ignore:
Timestamp:
Nov 7, 2025, 8:30:59 AM (5 days ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Parents:
0048327
Message:

update semaphore lock

File:
1 edited

Legend:

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

    r0048327 rb94579a  
    1111// Created On       : Thu Jan 21 19:46:50 2021
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Fri Oct 31 09:20:22 2025
    14 // Update Count     : 59
     13// Last Modified On : Wed Nov  5 10:27:45 2025
     14// Update Count     : 61
    1515//
    1616
     
    9191};
    9292
    93 // PRIVATE
    94 //thread$ * V( semaphore & sem, bool );
    95 
    96 // PUBLIC
    9793void ?{}( semaphore & sem, ssize_t count = 1 );
    9894// Return values are used for composition. Calling threads know if a thread is unblocked, which can be useful for
     
    10399bool try_P( semaphore & sem );
    104100static inline bool P( semaphore & sem, semaphore & lock, uintptr_t shadow ) { active_thread()->shadow$ = shadow; return P( sem, lock ); }
    105 bool V( semaphore & sem );
     101thread$ * V( semaphore & sem, const bool doUnpark = true );
     102static inline bool V( semaphore & sem ) with( sem ) { return V( sem, true ) != 0p; }
    106103bool V( semaphore & sem, size_t count );
    107104static inline uintptr_t front( semaphore & sem ) with( sem ) { // return shadow information for first waiting thread
Note: See TracChangeset for help on using the changeset viewer.