diff options
author | cheatfate <ka@hardcore.kiev.ua> | 2016-12-07 14:08:53 +0200 |
---|---|---|
committer | cheatfate <ka@hardcore.kiev.ua> | 2016-12-07 14:08:53 +0200 |
commit | b59ce8d32114e6e6bd62aa8c8e3ca61fe70a6236 (patch) | |
tree | 0e4c06b1143b2d388dd4b7f47bd9d9e615288584 /lib/pure | |
parent | ac4ccc695f880fa0f8add1d4d2236a72498cbd08 (diff) | |
download | Nim-b59ce8d32114e6e6bd62aa8c8e3ca61fe70a6236.tar.gz |
Fix compilation errors and enable async events on partially supported systems.
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/ioselectors.nim | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/pure/ioselectors.nim b/lib/pure/ioselectors.nim index 28e6ef3d0..5745d0b72 100644 --- a/lib/pure/ioselectors.nim +++ b/lib/pure/ioselectors.nim @@ -18,10 +18,12 @@ ## Supported features: files, sockets, pipes, timers, processes, signals ## and user events. ## -## Fully supported OS: MacOSX, FreeBSD, OpenBSD, NetBSD, Linux. +## Fully supported OS: MacOSX, FreeBSD, OpenBSD, NetBSD, Linux (except +## for Android). ## ## Partially supported OS: Windows (only sockets and user events), ## Solaris (files, sockets, handles and user events). +## Android (files, sockets, handles and user events). ## ## TODO: ``/dev/poll``, ``event ports`` and filesystem events. @@ -29,9 +31,11 @@ import os const hasThreadSupport = compileOption("threads") and defined(threadsafe) -const supportedPlatform = defined(macosx) or defined(freebsd) or - defined(netbsd) or defined(openbsd) or - (defined(linux) and not defined(android)) +const ioselSupportedPlatform* = defined(macosx) or defined(freebsd) or + defined(netbsd) or defined(openbsd) or + (defined(linux) and not defined(android)) + ## This constant is used to determine whether the destination platform is + ## fully supported by ``ioselectors`` module. const bsdPlatform = defined(macosx) or defined(freebsd) or defined(netbsd) or defined(openbsd) @@ -244,7 +248,7 @@ else: skey.key.fd = pkeyfd skey.key.data = pdata - when supportedPlatform: + when ioselSupportedPlatform: template blockSignals(newmask: var Sigset, oldmask: var Sigset) = when hasThreadSupport: if posix.pthread_sigmask(SIG_BLOCK, newmask, oldmask) == -1: |