reactphp / child-process

Event-driven library for executing child processes with ReactPHP.
https://reactphp.org/child-process/
MIT License
298 stars 44 forks source link

Consider adding specific libuv adapter #74

Open clue opened 5 years ago

clue commented 5 years ago

We may want to add a specific adapter taking advantage of libuv's process handling logic:

To be clear, this project works just fine with all loop implementations, including the default StreamSelectLoop and ExtUvLoop. This potential adapter could take advantage of some of the optimizations inside libuv and avoid some of the known limitations of the project.

In particular, this may help with Windows support (#9) in the future because libuv supports pipes with overlapped mode on Windows. Note that a Windows build of ext-uv does not appear to be available at the time of writing this, but it is believed to change again in the future (https://github.com/bwoebi/php-uv/issues/63).

bwoebi commented 5 years ago

Note that I've fixed the building on windows for php-uv.

clue commented 4 years ago

See also @CharlotteDunois's excellent version here: https://github.com/AndromedaGalaxy/reactphp-libuv-process