Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/invoke.h

    r17af7d1 r9c31349  
    3838      };
    3939
    40       struct signal_once {
    41             volatile bool condition;
    42             struct spinlock lock;
    43             struct simple_thread_list blocked;
    44       };
    45 
    4640      #ifdef __CFORALL__
    4741      extern "Cforall" {
     
    5246            void ?{}(spinlock * this);
    5347            void ^?{}(spinlock * this);
    54 
    55             void ?{}(signal_once * this);
    56             void ^?{}(signal_once * this);
    5748      }
    5849      #endif
     
    7970      };
    8071
     72      struct monitor_desc {
     73            struct spinlock lock;
     74            struct thread_desc * owner;
     75            struct simple_thread_list entry_queue;
     76            unsigned int recursion;
     77      };
     78
    8179      struct thread_desc {
    82             struct coroutine_desc cor;            // coroutine body used to store context
    83             struct signal_once terminated;      // indicate if execuation state is not halted
     80            struct coroutine_desc cor;          // coroutine body used to store context
     81            struct monitor_desc mon;            // monitor body used for mutual exclusion
    8482            struct thread_desc * next;          // instrusive link field for threads
    8583      };
Note: See TracChangeset for help on using the changeset viewer.