diff options
Diffstat (limited to 'lib/pure/asyncfile.nim')
-rw-r--r-- | lib/pure/asyncfile.nim | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/pure/asyncfile.nim b/lib/pure/asyncfile.nim index 0bf4e9d27..ad111ec50 100644 --- a/lib/pure/asyncfile.nim +++ b/lib/pure/asyncfile.nim @@ -132,8 +132,7 @@ proc readBuffer*(f: AsyncFile, buf: pointer, size: int): Future[int] = var retFuture = newFuture[int]("asyncfile.readBuffer") when defined(windows) or defined(nimdoc): - var ol = PCustomOverlapped() - GC_ref(ol) + var ol = newCustom() ol.data = CompletionData(fd: f.fd, cb: proc (fd: AsyncFD, bytesCount: DWORD, errcode: OSErrorCode) = if not retFuture.finished: @@ -212,8 +211,7 @@ proc read*(f: AsyncFile, size: int): Future[string] = when defined(windows) or defined(nimdoc): var buffer = alloc0(size) - var ol = PCustomOverlapped() - GC_ref(ol) + var ol = newCustom() ol.data = CompletionData(fd: f.fd, cb: proc (fd: AsyncFD, bytesCount: DWORD, errcode: OSErrorCode) = if not retFuture.finished: @@ -340,8 +338,7 @@ proc writeBuffer*(f: AsyncFile, buf: pointer, size: int): Future[void] = ## specified file. var retFuture = newFuture[void]("asyncfile.writeBuffer") when defined(windows) or defined(nimdoc): - var ol = PCustomOverlapped() - GC_ref(ol) + var ol = newCustom() ol.data = CompletionData(fd: f.fd, cb: proc (fd: AsyncFD, bytesCount: DWORD, errcode: OSErrorCode) = if not retFuture.finished: @@ -414,8 +411,7 @@ proc write*(f: AsyncFile, data: string): Future[void] = var buffer = alloc0(data.len) copyMem(buffer, addr copy[0], data.len) - var ol = PCustomOverlapped() - GC_ref(ol) + var ol = newCustom() ol.data = CompletionData(fd: f.fd, cb: proc (fd: AsyncFD, bytesCount: DWORD, errcode: OSErrorCode) = if not retFuture.finished: |