diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-03-14 20:18:51 +0000 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2014-03-14 20:18:51 +0000 |
commit | afb7dbf81ae3456c19b8b7dd65eeb3ec5bebb40d (patch) | |
tree | 685767a2abc63fa36ed7f199197e408f5322f981 | |
parent | 1a75b17cd03caac6b26588a0572c1032b024f1c8 (diff) | |
download | Nim-afb7dbf81ae3456c19b8b7dd65eeb3ec5bebb40d.tar.gz |
Fixes compilation of asyncio2 on Windows.
Added a close(PDispatcher, TSocketHandle) implementation which unregisters the handle.
-rw-r--r-- | lib/pure/asyncio2.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/pure/asyncio2.nim b/lib/pure/asyncio2.nim index 0ea4d7e79..43247ba7e 100644 --- a/lib/pure/asyncio2.nim +++ b/lib/pure/asyncio2.nim @@ -132,7 +132,6 @@ when defined(windows) or defined(nimdoc): cast[TCompletionKey](sock), 1) == 0: OSError(OSLastError()) p.handles.incl(sock) - # TODO: fd closure detection, we need to remove the fd from handles set proc verifyPresence(p: PDispatcher, sock: TSocketHandle) = ## Ensures that socket has been registered with the dispatcher. @@ -475,6 +474,11 @@ when defined(windows) or defined(nimdoc): result = socket(domain, typ, protocol) disp.register(result) + proc close*(disp: PDispatcher, socket: TSocketHandle) = + ## Closes a socket and ensures that it is unregistered. + socket.close() + disp.handles.excl(socket) + initAll() else: import selectors |