Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/util/util_task.cpp
| Show First 20 Lines • Show All 213 Lines • ▼ Show 20 Lines | foreach(thread *t, threads) { | ||||
| t->join(); | t->join(); | ||||
| delete t; | delete t; | ||||
| } | } | ||||
| threads.clear(); | threads.clear(); | ||||
| } | } | ||||
| } | } | ||||
| void TaskScheduler::free_memory() | |||||
| { | |||||
| assert(users == 0); | |||||
| threads.free_memory(); | |||||
| } | |||||
| bool TaskScheduler::thread_wait_pop(Entry& entry) | bool TaskScheduler::thread_wait_pop(Entry& entry) | ||||
| { | { | ||||
| thread_scoped_lock queue_lock(queue_mutex); | thread_scoped_lock queue_lock(queue_mutex); | ||||
| while(queue.empty() && !do_exit) | while(queue.empty() && !do_exit) | ||||
| queue_cond.wait(queue_lock); | queue_cond.wait(queue_lock); | ||||
| if(queue.empty()) { | if(queue.empty()) { | ||||
| ▲ Show 20 Lines • Show All 219 Lines • Show Last 20 Lines | |||||