Commit 1afd27a6 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 4c0fbef3
...@@ -969,7 +969,7 @@ error _Mapping::unmap() { ...@@ -969,7 +969,7 @@ error _Mapping::unmap() {
// //
// The following locks must be held by caller: // The following locks must be held by caller:
// - f.wconn.atMu // - f.wconn.atMu
// - f._mu // - f._mu XXX not needed? (f._mmaps and f._pinned are not used)
error _Mapping::_remmapblk(int64_t blk, zodb::Tid at) { error _Mapping::_remmapblk(int64_t blk, zodb::Tid at) {
_Mapping *mmap = this; _Mapping *mmap = this;
FileH f = mmap->fileh; FileH f = mmap->fileh;
...@@ -1030,7 +1030,6 @@ error _Mapping::remmap_blk(int64_t blk) { ...@@ -1030,7 +1030,6 @@ error _Mapping::remmap_blk(int64_t blk) {
FileH f = mmap.fileh; FileH f = mmap.fileh;
// NOTE virtmem lock is held by virtmem caller // NOTE virtmem lock is held by virtmem caller
// XXX locking ok?
f->wconn->_atMu.RLock(); f->wconn->_atMu.RLock();
f->_mu.lock(); f->_mu.lock();
defer([&]() { defer([&]() {
......
...@@ -271,6 +271,7 @@ public: ...@@ -271,6 +271,7 @@ public:
// Use .unmap to release virtual memory resources used by mapping. // Use .unmap to release virtual memory resources used by mapping.
// //
// Except unmap, it is safe to use Mapping from multiple threads simultaneously. // Except unmap, it is safe to use Mapping from multiple threads simultaneously.
// XXX unmap wrt remmapblk? -> crash? or protect?
typedef refptr<struct _Mapping> Mapping; typedef refptr<struct _Mapping> Mapping;
struct _Mapping : object { struct _Mapping : object {
FileH fileh; FileH fileh;
......
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