summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorRuslan Mustakov <r.mustakov@gmail.com>2017-02-07 16:45:59 +0700
committerRuslan Mustakov <r.mustakov@gmail.com>2017-02-07 16:45:59 +0700
commit7a839d7b02770987967c5485cb1ccb33cd45b380 (patch)
tree5a4f1c1a7639f17ebbd67a8d569f7cbf034c4e8d /lib
parentfb8168d338cedd04bad6876538ffa02fd975568b (diff)
downloadNim-7a839d7b02770987967c5485cb1ccb33cd45b380.tar.gz
Move checkCloseError to nativesockets
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/nativesockets.nim25
-rw-r--r--lib/pure/net.nim25
2 files changed, 25 insertions, 25 deletions
diff --git a/lib/pure/nativesockets.nim b/lib/pure/nativesockets.nim
index d51dbd475..17e23c8e0 100644
--- a/lib/pure/nativesockets.nim
+++ b/lib/pure/nativesockets.nim
@@ -620,3 +620,28 @@ proc selectWrite*(writefds: var seq[SocketHandle],
 when defined(Windows):
   var wsa: WSAData
   if wsaStartup(0x0101'i16, addr wsa) != 0: raiseOSError(osLastError())
+
+proc checkCloseError*(ret: cint) =
+  ## Asserts that the return value of close() or closeSocket() syscall
+  ## does not indicate a programming error (such as invalid descriptor).
+  ## This must only be used when an error has already occurred and
+  ## you are performing a cleanup.
+  ## Otherwise, error handling must be performed as usual.
+  ##
+  ## This procedure must be called right after performing the syscall. Example:
+  ##
+  ## .. code-block:: nim
+  ##
+  ##  let ret = someSysCall()
+  ##  if ret != 0:
+  ##    let errcode = osLastError()
+  ##    checkCloseError sock.closeSocket()
+  ##    raise newException(OSError, osErrorMsg(errcode))
+
+  if ret != 0:
+    let errcode = osLastError()
+    when useWinVersion:
+      doAssert(errcode.int32 notin {WSANOTINITIALISED, WSAENOTSOCK,
+                                    WSAEINPROGRESS, WSAEINTR, WSAEWOULDBLOCK})
+    else:
+      doAssert(errcode.int32 notin {EBADF})
diff --git a/lib/pure/net.nim b/lib/pure/net.nim
index 3699835c2..7f6783358 100644
--- a/lib/pure/net.nim
+++ b/lib/pure/net.nim
@@ -191,31 +191,6 @@ proc isDisconnectionError*(flags: set[SocketFlag],
     SocketFlag.SafeDisconn in flags and
       lastError.int32 in {ECONNRESET, EPIPE, ENETRESET}
 
-proc checkCloseError*(ret: cint) =
-  ## Asserts that the return value of close() or closeSocket() syscall
-  ## does not indicate a programming error (such as invalid descriptor).
-  ## This must only be used when an error has already occurred and
-  ## you are performing a cleanup.
-  ## Otherwise, error handling must be performed as usual.
-  ##
-  ## This procedure must be called right after perfoming the syscall. Example:
-  ##
-  ## .. code-block:: nim
-  ##
-  ##  let ret = someSysCall()
-  ##  if ret != 0:
-  ##    let errcode = osLastError()
-  ##    checkCloseError sock.closeSocket()
-  ##    raise newException(OSError, osErrorMsg(errcode))
-
-  if ret != 0:
-    let errcode = osLastError()
-    when useWinVersion:
-      doAssert(errcode.int32 notin {WSANOTINITIALISED, WSAENOTSOCK,
-                                    WSAEINPROGRESS, WSAEINTR, WSAEWOULDBLOCK})
-    else:
-      doAssert(errcode.int32 notin {EBADF})
-
 proc toOSFlags*(socketFlags: set[SocketFlag]): cint =
   ## Converts the flags into the underlying OS representation.
   for f in socketFlags: