| 140 | } |
| 141 | |
| 142 | void ThreadQueues::wrap_up(ThreadJob job) |
| 143 | { |
| 144 | #ifdef VERBOSE_QUEUES |
| 145 | cerr << "Wrap up " << available.size() << " threads" << endl; |
| 146 | #endif |
| 147 | for (int i : available) |
| 148 | { |
| 149 | auto result = at(i)->result(); |
| 150 | assert(result.output == job.output); |
| 151 | assert(result.type == job.type); |
| 152 | } |
| 153 | available.clear(); |
| 154 | |
| 155 | if (sync_point) |
| 156 | { |
| 157 | if (OnlineOptions::singleton.has_option("debug_sync")) |
| 158 | cerr << "stopping sync" << endl; |
| 159 | delete sync_point; |
| 160 | sync_point = 0; |
| 161 | } |
| 162 | } |
| 163 | |
| 164 | TimerWithComm ThreadQueues::sum(const string& phase) |
| 165 | { |
no test coverage detected