Since there was no implementation for Linux, all tests that exercised TaskLoopForIO had to be disabled for Linux. This PR implements TaskLoopForIO on Linux (concretely, TaskLoopForIOLinux) and enables the entire base_tests suite for that platform. TaskLoopForIOLinux is based on epoll, and has been implemented to have identical IO reading and wakeup semantics to TaskLoopForIOMac.
This PR is based on top of @pmusgrave's heroic work in https://github.com/domfarolino/browser/pull/53, which has been stalled. I'll close that PR and continue the implementation over here, as it is currently blocking the mage IPC implementation in #32.
TaskLoopForIO was first introduced in https://github.com/domfarolino/browser/pull/25, with the macOS implementation based on kqueue for BSD operating systems.
Since there was no implementation for Linux, all tests that exercised TaskLoopForIO had to be disabled for Linux. This PR implements TaskLoopForIO on Linux (concretely,
TaskLoopForIOLinux
) and enables the entirebase_tests
suite for that platform. TaskLoopForIOLinux is based on epoll, and has been implemented to have identical IO reading and wakeup semantics to TaskLoopForIOMac.This PR is based on top of @pmusgrave's heroic work in https://github.com/domfarolino/browser/pull/53, which has been stalled. I'll close that PR and continue the implementation over here, as it is currently blocking the mage IPC implementation in #32.
Closes https://github.com/domfarolino/browser/issues/33.