summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/ioselectors.nim22
1 files changed, 9 insertions, 13 deletions
diff --git a/lib/pure/ioselectors.nim b/lib/pure/ioselectors.nim
index 4ea7ee539..034b182ab 100644
--- a/lib/pure/ioselectors.nim
+++ b/lib/pure/ioselectors.nim
@@ -1735,24 +1735,20 @@ else:
     template withData*[T](s: Selector[T], fd: SocketHandle, value,
                           body: untyped) =
       var fdi = int(fd)
-      if fdi.uint < s.maxFD:
-        if s.fds[fdi].ident != 0:
-          var value = addr(s.fds[fdi].key.data)
-          body
-      else:
-        raise newException(ValueError, "Maximum file descriptors exceeded")
+      s.checkMaxFd(fdi)
+      if s.fds[fdi].ident != 0:
+        var value = addr(s.fds[fdi].key.data)
+        body
 
     template withData*[T](s: Selector[T], fd: SocketHandle, value, body1,
                           body2: untyped) =
       var fdi = int(fd)
-      if fdi.uint < s.maxFD:
-        if s.fds[fdi].ident != 0:
-          var value = addr(s.fds[fdi].key.data)
-          body1
-        else:
-          body2
+      s.checkMaxFd(fdi)
+      if s.fds[fdi].ident != 0:
+        var value = addr(s.fds[fdi].key.data)
+        body1
       else:
-        raise newException(ValueError, "Maximum file descriptors exceeded")
+        body2
   else:
     template withData*(s: Selector, fd: SocketHandle, value, body: untyped) =
       s.fds.withValue(fd, skey) do: