1 #ifndef SUBORDINATION_PPL_TIMER_PIPELINE_HH     2 #define SUBORDINATION_PPL_TIMER_PIPELINE_HH     4 #include <subordination/kernel/act.hh>     5 #include <subordination/ppl/basic_pipeline.hh>     6 #include <subordination/ppl/compare_time.hh>     7 #include <unistdx/ipc/semaphore>    14         using Priority_queue =
    18         using Priority_queue_traits =
    19                   priority_queue_traits<Priority_queue<T>>;
    22         using Timer_pipeline_base =
    23                   basic_pipeline<T, Priority_queue<T>,
    24                                  Priority_queue_traits<T>>;
    32         using typename base_pipeline::kernel_type;
    33         using typename base_pipeline::mutex_type;
    34         using typename base_pipeline::lock_type;
    35         using typename base_pipeline::sem_type;
    36         using typename base_pipeline::traits_type;
    61         wait_until_kernel_arrives(lock_type& lock) {
    62             this->_semaphore.wait(
    65                     return this->has_stopped() || !this->_kernels.empty();
    71         wait_until_kernel_is_ready(lock_type& lock, kernel_type* k) {
    72             return this->_semaphore.wait_until(
    75                 [
this] { 
return this->has_stopped(); }
    83 #endif // vim:filetype=cpp Definition: basic_pipeline.hh:40
 
Definition: timer_pipeline.hh:29