mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-07 21:43:33 +00:00
Let handles be seen outside of memfiles module so that "updating"
operations (like eg., resizing a file and re-mapping) do not need to worry about race conditions of re-opened paths, renamed parent directories and that sort of thing. Operating directly on already open handles is both safer and more efficient than relying upon the stability of filesystem paths.
This commit is contained in:
@@ -36,11 +36,11 @@ type
|
||||
size*: int ## size of the memory mapped file
|
||||
|
||||
when defined(windows):
|
||||
fHandle: Handle
|
||||
mapHandle: Handle
|
||||
wasOpened: bool ## only close if wasOpened
|
||||
fHandle*: Handle
|
||||
mapHandle*: Handle
|
||||
wasOpened*: bool ## only close if wasOpened
|
||||
else:
|
||||
handle: cint
|
||||
handle*: cint
|
||||
|
||||
proc mapMem*(m: var MemFile, mode: FileMode = fmRead,
|
||||
mappedSize = -1, offset = 0): pointer =
|
||||
|
||||
Reference in New Issue
Block a user