Commit 24dc5d96 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent f077ed67
......@@ -255,15 +255,15 @@ error _Conn::__pin1(PinReq *req) {
FileH f;
bool ok;
wconn._atMu.RLock(); // XXX deadlock wrt Conn.open, Conn.resync ?
wconn._atMu.RLock(); // XXX deadlock wrt Conn.resync ?
defer([&]() {
wconn._atMu.RUnlock();
});
// XXX deadlock wrt Conn.open which locks wconn.filehmu and starts initial "watch"
// XXX deadlock wrt Conn.resync which locks wconn.mu and does "watch" ?
wconn._mu.lock();
// XXX +incref f, so that simultaneous close does not remove f from wconn.filehTab ?
// XXX or just make FileH.close lock f too to synchronizw with pinner?
// XXX or just make FileH.close lock f too to synchronize with pinner?
tie(f, ok) = wconn._filehTab.get_(req->foid);
if (!ok) {
wconn._mu.unlock();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment