#include <shared_termination.hpp>
List of all members.
Public Member Functions |
|
| shared_termination (size_t ncpus) |
|
void | begin_critical_section (size_t cpuid) |
|
void | cancel_critical_section (size_t cpuid) |
|
bool | end_critical_section (size_t cpuid) |
|
void | new_job () |
|
void | new_job (size_t cpuhint) |
|
void | completed_job () |
|
size_t | num_active () |
Detailed Description
simple condition variable based shared termination checker. When a processor finds that it is out of work, it should call
- begin_critical_section(cpuid),
- check the state of the queue.
- If the queue has jobs, call cancel_critical_section().
- If the queue has no jobs, then call end_critical_section(cpuid)
- If (end_critical_section() returns true, the scheduler can terminate. Otherwise it must loop again.
Definition at line 36 of file shared_termination.hpp.
The documentation for this class was generated from the following file: