summary refs log tree commit diff stats
path: root/lib/pure/selectors.nim
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2015-01-22 12:13:45 +0000
committerDominik Picheta <dominikpicheta@googlemail.com>2015-01-22 12:13:45 +0000
commit4bcd96e20c323a7cc676ce943befd7ca9bca5875 (patch)
treef40a57da26a09b867ba4b65cff4f8464019ea878 /lib/pure/selectors.nim
parenta295866ce8381f3a5bb723e2687282bb38896e65 (diff)
parent1845e05a34665c3dace740a953065f535ec66fc6 (diff)
downloadNim-4bcd96e20c323a7cc676ce943befd7ca9bca5875.tar.gz
Merge pull request #1990 from eliezedeck/devel
Handle EPOLLHUP to avoid chaos/runaways when using certain fds
Diffstat (limited to 'lib/pure/selectors.nim')
-rw-r--r--lib/pure/selectors.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/pure/selectors.nim b/lib/pure/selectors.nim
index 29f6cd3ab..bd2564937 100644
--- a/lib/pure/selectors.nim
+++ b/lib/pure/selectors.nim
@@ -156,7 +156,7 @@ elif defined(linux):
       let fd = s.events[i].data.fd.SocketHandle
     
       var evSet: set[Event] = {}
-      if (s.events[i].events and EPOLLERR) != 0: evSet = evSet + {EvError}
+      if (s.events[i].events and EPOLLERR) != 0 or (s.events[i].events and EPOLLHUP) != 0: evSet = evSet + {EvError}
       if (s.events[i].events and EPOLLIN) != 0: evSet = evSet + {EvRead}
       if (s.events[i].events and EPOLLOUT) != 0: evSet = evSet + {EvWrite}
       let selectorKey = s.fds[fd]