Commit a844fb03 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent aa7b03bd
...@@ -511,7 +511,6 @@ error _Conn::resync(zodb::Tid at) { ...@@ -511,7 +511,6 @@ error _Conn::resync(zodb::Tid at) {
// set new wconn.at early, so that e.g. Conn.open running simultaneously // set new wconn.at early, so that e.g. Conn.open running simultaneously
// to second part of resync (see below) uses new at. // to second part of resync (see below) uses new at.
// XXX no need since wconn._filehMu is locked? -> no - it is *needed* after wconn.filehMu became RWMutex
wconn.at = at; wconn.at = at;
// go through all files opened under wconn and pre-adjust their mappings // go through all files opened under wconn and pre-adjust their mappings
...@@ -698,6 +697,8 @@ retry: ...@@ -698,6 +697,8 @@ retry:
}); });
wconn._filehMu.Unlock(); wconn._filehMu.Unlock();
// do the actuall open.
// We hold only wconn.atMu.R, but not wconn.filehMu, nor f.mu .
f->_openErr = f->_open(); f->_openErr = f->_open();
if (f->_openErr != nil) if (f->_openErr != nil)
return make_pair(nil, E(f->_openErr)); return make_pair(nil, E(f->_openErr));
......
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