Increase ref while running BoundedWaitFor, which prevents the Driver from

being cleaned up while it is being waited.
This commit is contained in:
Steve Hill
2016-09-19 16:53:06 -04:00
parent d76bc188e6
commit ea60b6616d
+2 -1
View File
@@ -520,9 +520,9 @@ void RewriteDriver::WaitForShutDown() {
void RewriteDriver::BoundedWaitFor(WaitMode mode, int64 timeout_ms) {
SchedulerBlockingFunction wait(scheduler_);
{
ScopedMutex lock(rewrite_mutex());
ref_counts_.AddRefMutexHeld(kRefUser);
CheckForCompletionAsync(mode, timeout_ms, &wait);
}
wait.Block();
@@ -532,6 +532,7 @@ void RewriteDriver::BoundedWaitFor(WaitMode mode, int64 timeout_ms) {
CHECK_EQ(waiting_, kNoWait);
}
#endif
DropReference(kRefUser);
}
void RewriteDriver::CheckForCompletionAsync(WaitMode wait_mode,