Author: eilemann@gmail.com
State:
- Implemented in 0.3
The following table lists the order of operations during eq::Config::init. The
same operation for different instances will happen in parallel when the
instances belong to different threads, e.g., all Pipe::configInit
are executed in parallel.
Operations for non-threaded
pipes are executed in the node thread immediately and in the app thread
during Config::finishInit. The children for an entity are
initialized before the next sibling of the entity is initialized, e.g,
the Channel::configInit task methods for all channels of a window
are called before the next Window::configInit is executed.
| App thread | Node thread(s) | Pipe thread(s) |
|---|---|---|
| Config::init | ||
| Config::Config | ||
| Node::Node | ||
| Node::configInit | ||
| Pipe::Pipe | ||
| Pipe::configInit | ||
| Window::Window | ||
| Window::configInit | ||
| Channel::Channel | ||
| Channel::configInit | ||
| Config::init returns | ||
| Config::exit | ||
| Channel::configExit | ||
| Window::configExit | ||
| Pipe::configExit | ||
| Node::configExit | ||
| Channel::~Channel | ||
| Window::~Window | ||
| Pipe::~Pipe | ||
| Node::~Node | ||
| Config::~Config | ||
| Config::exit returns | ||
Open Issues
Config::exit should also be separated into startExit
and finishExit. This will be implemented as soon as it is needed.


