mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-15 12:34:30 +00:00
taskscheduler: initialize member correctly
This patch will fix runtime crash caused by incorrect init variables.
This commit is contained in:
parent
0916e7e4eb
commit
0ebf41a9cb
1 changed files with 4 additions and 4 deletions
|
@ -101,11 +101,12 @@ class TaskSchedulerImpl
|
||||||
public:
|
public:
|
||||||
unsigned threadCnt;
|
unsigned threadCnt;
|
||||||
vector<thread> threads;
|
vector<thread> threads;
|
||||||
vector<TaskQueue> taskQueues{threadCnt};
|
vector<TaskQueue> taskQueues;
|
||||||
atomic<unsigned> idx{0};
|
atomic<unsigned> idx{0};
|
||||||
|
|
||||||
TaskSchedulerImpl()
|
TaskSchedulerImpl(unsigned count) : taskQueues(count)
|
||||||
{
|
{
|
||||||
|
threadCnt = count;
|
||||||
for (unsigned i = 0; i < threadCnt; ++i) {
|
for (unsigned i = 0; i < threadCnt; ++i) {
|
||||||
threads.emplace_back([&, i] { run(i); });
|
threads.emplace_back([&, i] { run(i); });
|
||||||
}
|
}
|
||||||
|
@ -168,8 +169,7 @@ static TaskSchedulerImpl* inst = nullptr;
|
||||||
void TaskScheduler::init(unsigned threads)
|
void TaskScheduler::init(unsigned threads)
|
||||||
{
|
{
|
||||||
if (inst) return;
|
if (inst) return;
|
||||||
inst = new TaskSchedulerImpl;
|
inst = new TaskSchedulerImpl(threads);
|
||||||
inst->threadCnt = threads;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue