forked from cerc-io/plugeth
consensus/ethash: close mmap before rename, windows limitation
This commit is contained in:
parent
ee05cc4a27
commit
65e1095c3f
@ -130,13 +130,16 @@ func memoryMapAndGenerate(path string, size uint64, generator func(buffer []uint
|
|||||||
data := buffer[len(dumpMagic):]
|
data := buffer[len(dumpMagic):]
|
||||||
generator(data)
|
generator(data)
|
||||||
|
|
||||||
if err := mem.Flush(); err != nil {
|
if err := mem.Unmap(); err != nil {
|
||||||
mem.Unmap()
|
|
||||||
dump.Close()
|
|
||||||
return nil, nil, nil, err
|
return nil, nil, nil, err
|
||||||
}
|
}
|
||||||
os.Rename(temp, path)
|
if err := dump.Close(); err != nil {
|
||||||
return dump, mem, data, nil
|
return nil, nil, nil, err
|
||||||
|
}
|
||||||
|
if err := os.Rename(temp, path); err != nil {
|
||||||
|
return nil, nil, nil, err
|
||||||
|
}
|
||||||
|
return memoryMap(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
// cache wraps an ethash cache with some metadata to allow easier concurrent use.
|
// cache wraps an ethash cache with some metadata to allow easier concurrent use.
|
||||||
|
Loading…
Reference in New Issue
Block a user