[Feature] N/A
[Cause] If an exception is thrown during execute() the calling
thread's latch will never be unlocked.
[Solution] Unlock the latch after the whole try/catch.
[Verification] Built, installed, run tests
Change-Id: I2891d83f4f3459a2d2d60cdc4d2986e37894c959
try {
LOGT("Executing task from subgroup " << taskInfo.groupID);
taskInfo.task();
- if (taskInfo.latch)
- taskInfo.latch->set();
} catch (const std::exception& e) {
LOGE("Unexpected exception while executing task: " << e.what());
}
+ if (taskInfo.latch)
+ taskInfo.latch->set();
}
};