storage/nfs: fix deadlock when connecting
The Connect method can be called between Schedule and lock. In that case, when locked, the state is already set to CONNECTING of READY and the condition won't be signaled anymore.
This commit is contained in:
parent
aed0af1e00
commit
3436a646b5
2
NEWS
2
NEWS
|
@ -3,6 +3,8 @@ ver 0.19.10 (not yet released)
|
|||
- smbclient: fix DFF playback
|
||||
* encoder
|
||||
- opus: fix bogus granulepos
|
||||
* neighbor
|
||||
- nfs: fix deadlock when connecting
|
||||
|
||||
ver 0.19.9 (2015/02/06)
|
||||
* decoder
|
||||
|
|
|
@ -177,6 +177,8 @@ private:
|
|||
mutex.unlock();
|
||||
DeferredMonitor::Schedule();
|
||||
mutex.lock();
|
||||
if (state == State::INITIAL)
|
||||
cond.wait(mutex);
|
||||
break;
|
||||
|
||||
case State::CONNECTING:
|
||||
|
@ -188,8 +190,6 @@ private:
|
|||
error.Set(last_error);
|
||||
return false;
|
||||
}
|
||||
|
||||
cond.wait(mutex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue