From 88fc415c69792e3919504c610924f83b5a6d4748 Mon Sep 17 00:00:00 2001 From: JamesP Date: Sat, 12 Sep 2015 14:41:50 +1000 Subject: [PATCH] bug fix: close() only unmapViewOfFile() when fHandle is valid. Added extra test on windows close so if already closed it doesn't throw an exception. --- lib/pure/memfiles.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index 27b9895974..a8bfa14d30 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -226,7 +226,7 @@ proc close*(f: var MemFile) = var lastErr: OSErrorCode when defined(windows): - if f.fHandle != INVALID_HANDLE_VALUE: + if f.fHandle != INVALID_HANDLE_VALUE and f.fHandle != 0: error = unmapViewOfFile(f.mem) == 0 lastErr = osLastError() error = (closeHandle(f.mapHandle) == 0) or error