You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(test-case
"An evt-set syncs to the list of results of evts."
(define πs (for/list ([i 10]) (process (λ () (emit i)))))
(define evt (apply evt-set (map recv-evt πs)))
(check equal? (sync evt) '(0 1 2 3 4 5 6 7 8 9)))
It looks like recv-evt uses the same channel to receive all events in a given process. So, even if the third recv-evt becomes ready, it doesn't necessarily receive a value from the third element of πs; it might pick up the value from the fifth element of πs, while some other recv-evt gets the result of the third element of πs. Put another way, changing recv-evt to use (make-exchanger) in place of (process-rx (current-process)) causes the test to pass — but I don't know whether it's rect-evt or the test that should be considered wrong, or if I'm missing something else.
The text was updated successfully, but these errors were encountered:
This test is failing on Racket CS (racket/racket#3457):
It looks like
recv-evt
uses the same channel to receive all events in a given process. So, even if the thirdrecv-evt
becomes ready, it doesn't necessarily receive a value from the third element ofπs
; it might pick up the value from the fifth element ofπs
, while some otherrecv-evt
gets the result of the third element ofπs
. Put another way, changingrecv-evt
to use(make-exchanger)
in place of(process-rx (current-process))
causes the test to pass — but I don't know whether it'srect-evt
or the test that should be considered wrong, or if I'm missing something else.The text was updated successfully, but these errors were encountered: