You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In core.cpp, CoreApply gives the address of the cOverallProgressTicks variable to the cache thread and then uses itself when it goes to execute. The cache and execute methods go on to use it as if they weren't sharing it with each other. This could result in reporting the wrong progress.
if (pEngineState->plan.cCacheActions)
{
// Launch the cache thread.
cacheThreadContext.pEngineState = pEngineState;
cacheThreadContext.pcOverallProgressTicks = &cOverallProgressTicks;
cacheThreadContext.pfRollback = &fRollback;
hCacheThread = ::CreateThread(NULL, 0, CacheThreadProc, &cacheThreadContext, 0, NULL);
...
}
// Execute.
if (pEngineState->plan.cExecuteActions)
{
hr = ApplyExecute(pEngineState, hCacheThread, &cOverallProgressTicks, &fKeepRegistration, &fRollback, &fSuspend, &restart);
UserExperienceExecutePhaseComplete(&pEngineState->userExperience, hr); // signal that execute completed.
}
Originally opened by rseanhall
The text was updated successfully, but these errors were encountered:
In core.cpp, CoreApply gives the address of the cOverallProgressTicks variable to the cache thread and then uses itself when it goes to execute. The cache and execute methods go on to use it as if they weren't sharing it with each other. This could result in reporting the wrong progress.
The text was updated successfully, but these errors were encountered: