summary refs log tree commit diff stats
path: root/lib/pure/asyncdispatch.nim
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2014-05-23 13:53:27 +0100
committerDominik Picheta <dominikpicheta@googlemail.com>2014-05-24 15:55:37 +0100
commitb386d382089c31f76ab75d26fffc3a9ea4475b4a (patch)
tree541deb41e1e10542868b70e72e37d154c4c8b6e9 /lib/pure/asyncdispatch.nim
parentb3a39524eef7858521317a43881f68678a0ecd46 (diff)
downloadNim-b386d382089c31f76ab75d26fffc3a9ea4475b4a.tar.gz
Add asyncdispatch.unregister.
Diffstat (limited to 'lib/pure/asyncdispatch.nim')
-rw-r--r--lib/pure/asyncdispatch.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim
index f42945460..d972592a5 100644
--- a/lib/pure/asyncdispatch.nim
+++ b/lib/pure/asyncdispatch.nim
@@ -537,6 +537,10 @@ when defined(windows) or defined(nimdoc):
     socket.TSocketHandle.close()
     getGlobalDispatcher().handles.excl(socket)
 
+  proc unregister*(fd: TAsyncFD) =
+    ## Unregisters ``fd``.
+    getGlobalDispatcher().handles.excl(fd)
+
   initAll()
 else:
   import selectors
@@ -586,6 +590,9 @@ else:
     sock.TSocketHandle.close()
     disp.selector.unregister(sock.TSocketHandle)
 
+  proc unregister*(fd: TAsyncFD) =
+    getGlobalDispatcher().selector.unregister(fd.TSocketHandle)
+
   proc addRead(sock: TAsyncFD, cb: TCallback) =
     let p = getGlobalDispatcher()
     if sock.TSocketHandle notin p.selector: