1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
discard """
output: '''
hasPendingOperations: false
triggerCount: 100
'''
disabled: "windows"
"""
import asyncDispatch
var triggerCount = 0
var evs = newSeq[AsyncEvent]()
for i in 0 ..< 100: # has to be lower than the typical physical fd limit
var ev = newAsyncEvent()
evs.add(ev)
addEvent(ev, proc(fd: AsyncFD): bool {.gcsafe,closure.} = triggerCount += 1; true)
for ev in evs:
ev.trigger()
drain()
echo "hasPendingOperations: ", hasPendingOperations()
echo "triggerCount: ", triggerCount
|