Federico Ceccatto <[EMAIL PROTECTED]> wrote: > This is the kind of 'bugs' i've run into, perhaps someone could shed > some light onto them? > > - Sometimes execution of child process (in this case, NTVDM.exe and > its children) stops and the object is destroyed for no reason > whatsoever. Very silent, no errors. > > - Sometimes '\x03' as input is ignored, working simply as a '\n' of > sorts, while most of the time it simply kills the program as expected. > > - Sometimes specific points in the code where the user is asked for > input and execution should be temporarily halted are ignored, as if > somehow it got a newline character. > > None of these bugs are reproducible by running the same child > processess via NTVDM.exe through say, cmd.exe and such. > > This has been driving me nuts for the last three weeks...
It sounds like you want an interactive channel to your process - unfortunately subprocess doesn't really work when a conversation is expected between your process and the subprocess - there is too much buffering involved. On unix you'd use the python expect module to work around these problems. Unfortunately there isn't a windows version :-( You could try the non blocking subprocess modification here http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/440554 You could also try wx.Process and wx.Execute from wxPython. -- Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick -- http://mail.python.org/mailman/listinfo/python-list