diff options
author | cheatfate <ka@hardcore.kiev.ua> | 2016-08-31 10:30:25 +0300 |
---|---|---|
committer | cheatfate <ka@hardcore.kiev.ua> | 2016-08-31 10:30:25 +0300 |
commit | b75ddf5ba22f2c09e0ca86d2f06c964ec11f9219 (patch) | |
tree | 2882e46057d553f33bb1170f3dd7e0820f7dd148 | |
parent | 283f8e9c8cb1ca1efc2d8c7c8a85a9cc86f579d0 (diff) | |
download | Nim-b75ddf5ba22f2c09e0ca86d2f06c964ec11f9219.tar.gz |
Fix 32bit architecture problems with SelectEvent.
-rw-r--r-- | lib/pure/ioselects/ioselectors_epoll.nim | 4 | ||||
-rw-r--r-- | lib/pure/ioselects/ioselectors_poll.nim | 2 | ||||
-rw-r--r-- | lib/pure/ioselects/ioselectors_select.nim | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/pure/ioselects/ioselectors_epoll.nim b/lib/pure/ioselects/ioselectors_epoll.nim index 92b2cdc07..4bc6e9d51 100644 --- a/lib/pure/ioselects/ioselectors_epoll.nim +++ b/lib/pure/ioselects/ioselectors_epoll.nim @@ -407,8 +407,8 @@ proc selectInto*[T](s: Selector[T], timeout: int, inc(i) continue elif Event.User in skey.events: - var data: uint = 0 - if posix.read(fdi.cint, addr data, sizeof(uint)) != sizeof(uint): + var data: uint64 = 0 + if posix.read(fdi.cint, addr data, sizeof(uint64)) != sizeof(uint64): let err = osLastError() if err == OSErrorCode(EAGAIN): inc(i) diff --git a/lib/pure/ioselects/ioselectors_poll.nim b/lib/pure/ioselects/ioselectors_poll.nim index d2a0a1273..56be35c70 100644 --- a/lib/pure/ioselects/ioselectors_poll.nim +++ b/lib/pure/ioselects/ioselectors_poll.nim @@ -245,7 +245,7 @@ proc selectInto*[T](s: Selector[T], timeout: int, skey.key.events.incl(Event.Read) if Event.User in skey.events: var data: uint64 = 0 - if posix.read(fd, addr data, sizeof(int)) != sizeof(int): + if posix.read(fd, addr data, sizeof(uint64)) != sizeof(uint64): let err = osLastError() if err != OSErrorCode(EAGAIN): raiseOSError(osLastError()) diff --git a/lib/pure/ioselects/ioselectors_select.nim b/lib/pure/ioselects/ioselectors_select.nim index f8099f9a0..ddb70b507 100644 --- a/lib/pure/ioselects/ioselectors_select.nim +++ b/lib/pure/ioselects/ioselectors_select.nim @@ -155,9 +155,9 @@ when defined(windows): result.wsock = wsock proc setEvent*(ev: SelectEvent) = - var data: int = 1 + var data: uint64 = 1 if winlean.send(ev.wsock, cast[pointer](addr data), - cint(sizeof(int)), 0) != sizeof(int): + cint(sizeof(uint64)), 0) != sizeof(uint64): raiseOSError(osLastError()) proc close*(ev: SelectEvent) = |