Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/monitor

    raaa4f93 r9f5ecf5  
    2222#include "stdlib"
    2323
    24 trait is_monitor(dtype T) {
    25         monitor_desc * get_monitor( T & );
    26         void ^?{}( T & mutex );
    27 };
    28 
    2924static inline void ?{}(monitor_desc & this) {
    3025        (this.lock){};
     
    3328        (this.signal_stack){};
    3429        this.recursion = 0;
    35         this.mask.accepted = NULL;
    36         this.mask.clauses  = NULL;
    37         this.mask.size     = 0;
     30        this.acceptables = NULL;
     31        this.acceptable_count = 0;
     32        this.accepted_index = -1;
    3833}
    3934
     
    105100
    106101struct __acceptable_t {
    107         __monitor_group_t;
     102        fptr_t func;
     103        unsigned short count;
     104        monitor_desc ** monitors;
    108105        bool is_dtor;
    109106};
    110107
    111 void __waitfor_internal( const __waitfor_mask_t & mask, int duration );
     108int __accept_internal( unsigned short count, __acceptable_t * acceptables );
    112109
    113110// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.