On 1/17/2012 1:00 PM, Dick Hollenbeck wrote: > > This thread shows how bad the wxExecute and wxProcess support are in > wxWidgets: > > http://trac.wxwidgets.org/ticket/12636 > > I read it once, and tears were in my eyes before I got to the end.
Yuck! It looks like the wxWidgets folks have some work to do. It appears they are working on it but it may be a while before they have a solution that will work for us. > > Of course the problem we always have on linux is the locking up of the child > process > > > > Perhaps we should do these steps: > > 1) Change common's > > bool ProcessExecute( const wxString& aCommandLine, int aFlags ) > > to > > bool ProcessExecute( const wxString& aCommandLine, bool runAsync = true ) > > > 2) Move it into its own processexecute.cpp source file, still in libcommon, > so that we can > use unusual, system dependent header files in that single implementation file. > > > 3) Think about using boost/process.hpp to launch our child programs, or a > combination of > fork() and exec() on linux (google around for a combo function). > In any case this is now in its own file, and we control the strategy in a > single place. This makes sense to me. If we have to roll our own solution, then it could get rather complex so putting it in it's own file is a good idea. > > The piping back into the parent process must be omitted, we don't use it or > want it, and > hopefully this can finally clean up the locking up on Debug and sometimes > Release builds. > > > If either: > > a) boost/process.hpp were to require compiled library files, or > b) it did not become available until after our current boost version, > > then I would score this against it heavily. But if it can be done by the > addition of a > few boost version compatible header files, this is worth a look. I don't believe Boost process has been excepted for the next release of Boost. Here is the original review post on the Boost mailing list: http://lists.boost.org/Archives/boost/2011/02/176751.php After reading a few responses, it looks like there is still quite a bit of work to do before it will be included into Boost. We could always grab a copy from: http://svn.boost.org/svn/boost/sandbox/process/boost/ and give it try. Wayne > > Again, its a good thing we have our own wrapper function ProcessExecute(), so > details are > not exposed. > > I am suggesting that someone else do this work. > > > Thanks, > > Dick > > > > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

