From 740c5b13ead2fe02691554ef9b585d7cb4ba19fa Mon Sep 17 00:00:00 2001 From: Charles Blake Date: Mon, 10 Dec 2018 11:40:08 -0500 Subject: [PATCH] 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. --- lib/pure/memfiles.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index e5345e645c..61eff3295d 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -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 =