From 30a496de5eea013e47b9b8a9c058f7b0f4135838 Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Wed, 12 Feb 2020 10:00:50 -0500 Subject: [PATCH] add TODO to explain why half closed tests failed --- tests/testmplex.nim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/testmplex.nim b/tests/testmplex.nim index 03c2705de..73f6ff271 100644 --- a/tests/testmplex.nim +++ b/tests/testmplex.nim @@ -357,6 +357,12 @@ suite "Mplex": expect LPStreamEOFError: waitFor(testClosedForWrite()) + # TODO: this locks up after removing sleepAsync as a + # synchronization mechanism in mplex. I believe this + # is related to how chronos schedules callbacks in select, + # which effectively puts to infinite sleep when there + # are no more callbacks, so essentially this sequence of + # reads isn't possible with the current chronos. # test "half closed - channel should close for read by remote": # proc testClosedForRead(): Future[void] {.async.} = # proc writeHandler(data: seq[byte]) {.async, gcsafe.} = discard