| 3196 | |
| 3197 | |
| 3198 | void ProcessManager::terminate( |
| 3199 | const UPID& pid, |
| 3200 | bool inject, |
| 3201 | ProcessBase* sender) |
| 3202 | { |
| 3203 | if (ProcessReference process = use(pid)) { |
| 3204 | if (Clock::paused()) { |
| 3205 | Clock::update( |
| 3206 | process, Clock::now(sender != nullptr ? sender : __process__)); |
| 3207 | } |
| 3208 | |
| 3209 | process_manager->deliver( |
| 3210 | process, |
| 3211 | new TerminateEvent( |
| 3212 | sender != nullptr ? sender->self() : UPID(), |
| 3213 | inject)); |
| 3214 | } |
| 3215 | } |
| 3216 | |
| 3217 | |
| 3218 | bool ProcessManager::wait(const UPID& pid) |