Commit 645c2d9e authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 13459333
...@@ -1105,6 +1105,10 @@ error _Mapping::unmap() { ...@@ -1105,6 +1105,10 @@ error _Mapping::unmap() {
xerr::Contextf E("%s: %s: %s: unmap", v(f->wconn), v(f), v(mmap)); xerr::Contextf E("%s: %s: %s: unmap", v(f->wconn), v(f), v(mmap));
etrace(""); etrace("");
// protect agains double unmap
if (mmap->mem_start == nil)
return nil;
if (mmap->vma != nil) { if (mmap->vma != nil) {
mmap->_assertVMAOk(); mmap->_assertVMAOk();
VMA *vma = mmap->vma; VMA *vma = mmap->vma;
...@@ -1118,7 +1122,6 @@ error _Mapping::unmap() { ...@@ -1118,7 +1122,6 @@ error _Mapping::unmap() {
error err = mm::unmap(mmap->mem_start, mmap->mem_stop - mmap->mem_start); error err = mm::unmap(mmap->mem_start, mmap->mem_stop - mmap->mem_start);
mmap->mem_start = nil; mmap->mem_start = nil;
mmap->mem_stop = nil; mmap->mem_stop = nil;
// XXX clear other fields?
//f->_mmaps.remove(mmap); //f->_mmaps.remove(mmap);
f->_mmaps.erase( f->_mmaps.erase(
......
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