New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite I/O using IOCP #81

Closed
gaborcsardi opened this Issue Nov 4, 2017 · 1 comment

Comments

Projects
None yet
1 participant
@gaborcsardi
Member

gaborcsardi commented Nov 4, 2017

It will make polling easier, probably.

EDIT 2017-11-06

Initially I did not do this, because I did not see how I could poll a certain subset of processes or pipes (but not poll the rest of the processes/pipes on the same IOCP). But this is easy if we implement buffering, which we already do. We can just poll the IOCP with all processes, and if a read finishes on a process/pipe that we are not polling on, we just put the data in the buffer, and continue polling. We do not restart the read for the processes that we are not polling, obviously.

IOCP is also good, because currently we have a limit for polling maximum 64 handles, this is a limit of WaitForMultipleObjects that is very hard to go around.

@gaborcsardi

This comment has been minimized.

Member

gaborcsardi commented Apr 19, 2018

Closed by #106.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment