Skip to content

Fix issue with edge-triggered orbital

jD91mZM2 requested to merge jD91mZM2:master into master

Problem: Orbclient's window.read is currently something like "read 16 events thanks" instead of "read all events". This used to be fine because it was level-triggered, a.k.a. the read event is sent over and over. Now with the edge-triggered model it fails when there are more than 16 events.

Solution: Read until EOF. This does require a vector, but only if it's more than 16 events.

Breaking: Windows marked as async will break because reads are blocking there. I have a quick patch for orbterm and launcher that removes the async flag. What is this flag even? Why is it needed?

Merge request reports