Merge pull request #4609 from cheatfate/issue4606

Fix issue #4606
This commit is contained in:
Andreas Rumpf 2016-08-12 02:18:37 +02:00 • committed by GitHub
commit b0d9c11e53
2 changed files with 8 additions and 4 deletions

View file

@ -16,6 +16,10 @@ const
MAX_KQUEUE_CHANGE_EVENTS = 64 MAX_KQUEUE_CHANGE_EVENTS = 64
# Maximum number of events that can be returned. # Maximum number of events that can be returned.
MAX_KQUEUE_RESULT_EVENTS = 64 MAX_KQUEUE_RESULT_EVENTS = 64
# SIG_IGN and SIG_DFL declared in posix.nim as variables, but we need them
# to be constants and GC-safe.
SIG_DFL = cast[proc(x: cint) {.noconv,gcsafe.}](0)
SIG_IGN = cast[proc(x: cint) {.noconv,gcsafe.}](1)
when defined(macosx) or defined(freebsd): when defined(macosx) or defined(freebsd):
when defined(macosx): when defined(macosx):

View file

@ -79,7 +79,7 @@ when not defined(windows):
var rc2 = selector.select(100) var rc2 = selector.select(100)
assert(len(rc2) == 1) assert(len(rc2) == 1)
var read_count = posix.recv(server2_socket, addr (buffer[0]), 128, 0) var read_count = posix.recv(server2_socket, addr buffer[0], 128, 0)
if read_count == -1: if read_count == -1:
raiseOSError(osLastError()) raiseOSError(osLastError())
@ -233,7 +233,7 @@ when not defined(windows):
proc mt_event_test(): bool = proc mt_event_test(): bool =
var var
thr: array [0..7, Thread[SelectEvent]] thr: array[0..7, Thread[SelectEvent]]
var selector = newSelector[int]() var selector = newSelector[int]()
var sock = newNativeSocket() var sock = newNativeSocket()
var event = newSelectEvent() var event = newSelectEvent()
@ -317,7 +317,7 @@ else:
var rc2 = selector.select(100) var rc2 = selector.select(100)
assert(len(rc2) == 1) assert(len(rc2) == 1)
var read_count = recv(server2_socket, addr (buffer[0]), 128, 0) var read_count = recv(server2_socket, addr buffer[0], 128, 0)
if read_count == -1: if read_count == -1:
raiseOSError(osLastError()) raiseOSError(osLastError())
@ -391,7 +391,7 @@ else:
assert(selector.isEmpty()) assert(selector.isEmpty())
proc mt_event_test(): bool = proc mt_event_test(): bool =
var thr: array [0..7, Thread[SelectEvent]] var thr: array[0..7, Thread[SelectEvent]]
var event = newSelectEvent() var event = newSelectEvent()
for i in 0..high(thr): for i in 0..high(thr):
createThread(thr[i], event_wait_thread, event) createThread(thr[i], event_wait_thread, event)