Hi Wez, I wrote a pecl extension called ecasound which interacts with an audio processing library. Now the way that ecasound is written will change in future versions and will have a fully interactive mode, all other implementations (perl, python c++ etc) have been re-written so that they open up a couple of pipes, fork and then exec ecasound in the child process so using the interactive mode instead of linking against the librarys. What I would like to do is to make the PHP implementation work in the same way as all of the others but of course PHP does not yet have full 2 way communication with a child process.
I agree that extending proc_open may be the best solution but while I would be willing to do the work I'm not sure that I can at the moment. Working with processes etc in c is fairly new to me and so are PHP extensions so trying to extend someone else's function that already looks fairly complex may be beyond me at this time (also I do not know anything about programming under win32). Maybe I'll take another look though as If this would really be the best way to implement the functionality I need then it may be a good learning exercise :) Tony On Sat, 2002-11-09 at 19:52, Wez Furlong wrote: > Hi Tony, > > What kind of things are you planning to do? > proc_open seems ideal to extend for this purpose, and works on win32. > > --Wez. > > On 09/11/02, "Tony Leake" <[EMAIL PROTECTED]> wrote: > > The whole picture is that i want to control a child process completely > > from within php. A bit like popen or proc_open but with 2 independent > > pipes to the child's stdin and stdout that I can read and write to. So > > I'm basically wrapping the c functions pipe(), dup2() and friends. Once > > I have it all working I will offer to add the functions into the pcntl > > extension if they're wanted. > > > > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php