Changeset 27231
- Timestamp:
- Nov 18, 2022, 8:32:20 PM (20 months ago)
- Location:
- ps/trunk/source/ps
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ps/trunk/source/ps/TaskManager.cpp
r27064 r27231 125 125 friend class WorkerThread; 126 126 public: 127 Impl( TaskManager& backref);127 Impl(; 128 128 ~Impl() 129 129 { … … 150 150 bool PopTask(std::function<void()>& taskOut); 151 151 152 // Back reference (keep this first).153 TaskManager& m_TaskManager;154 155 152 std::atomic<bool> m_HasWork = false; 156 153 std::atomic<bool> m_HasLowPriorityWork = false; … … 162 159 // Ideally this would be a vector, since it does get iterated, but that requires movable types. 163 160 std::deque<WorkerThread> m_Workers; 164 165 // Round-robin counter for GetWorker.166 mutable size_t m_RoundRobinIdx = 0;167 161 }; 168 162 … … 172 166 173 167 TaskManager::TaskManager(size_t numberOfWorkers) 174 { 175 m = std::make_unique<Impl>(*this); 168 : m{std::make_unique<Impl>()} 169 { 176 170 numberOfWorkers = Clamp<size_t>(numberOfWorkers, MIN_WORKERS, MAX_WORKERS); 177 171 m->SetupWorkers(numberOfWorkers); … … 179 173 180 174 TaskManager::~TaskManager() = default; 181 182 TaskManager::Impl::Impl(TaskManager& backref)183 : m_TaskManager(backref)184 {185 }186 175 187 176 void TaskManager::Impl::SetupWorkers(size_t numberOfWorkers) -
ps/trunk/source/ps/TaskManager.h
r26916 r27231 78 78 79 79 class Impl; 80 std::unique_ptr<Impl> m;80 std::unique_ptr<Impl> m; 81 81 }; 82 82 } // namespace Threading
Note:
See TracChangeset
for help on using the changeset viewer.