I thought I'd post where I've got to with OS-independent child processes. I decided to start from scratch, just so that I understand what's going on and to try and make a clean, understandable design. I thought I'd also try and write some docs explaining the design.
See here for the current state of play: http://www.devel.lyx.org/~leeming/process/ I'm *not* proposing to do all this for LyX 1.3.x. I think that we can just slot the CreateProcess and WaitForSingleObject code into the existing code base. I don't think that we need redirect the child's input and output streams for 1.3.x either, so truly, the changes should be minimal. Ie, Ispell.C can go hang! There's no use of popen either in the 1.3.x code base. I haven't made any decision at all about 1.4.x. I'll shove in the redirection stuff first. I'd expect that we could then get rid of the popen and system calls. Enjoy! -- Angus