bool WindowProxy::BackgroundTask::wait() { std::unique_lock<std::mutex> lock(mutex); int original = state; if (!isRestarting() && original == Done) return true; while ((isRestarting() || state == original) && !(flags & Abort)) cond.wait(lock); return !(flags & Abort); }
void MooseApp::restoreCachedBackup() { if (!_cached_backup.get()) mooseError("No cached Backup to restore!"); restore(_cached_backup, isRestarting()); // Release our hold on this Backup _cached_backup.reset(); }