Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!mcgill-vision!snorkelwacker!usc!samsung!uunet!ogicse!oregon!jmeissen From: jmeissen@oregon.oacis.org (John Meissen) Newsgroups: comp.sys.amiga.tech Subject: Re: Problem with CreateProc & LoadSeg Message-ID: <481@oregon.oacis.org> Date: 7 May 90 18:41:16 GMT References: <1677@mindlink.UUCP> Organization: Oregon Advanced Computing Institute (OACIS), Beaverton, OR Lines: 24 In article <1677@mindlink.UUCP> a464@mindlink.UUCP (Bruce Dawson) writes: >> root@dialog.sub.org writes: >> whether or not there is any cleaner way to do it. My problem was to >> start a process much like Execute(), only asynchronously. As far as I [...] >of these problems can be solved by doing a CreateProc on a short little >assembler routine which will communicate with the main program. The assembler This is basically what I did when I wrote the fork() implementation for the Lattice compiler. Given this approach you have a lot of flexibility. I attached an assembler stub to the LoadSeg'd code that waited for a startup message from the parent process. This message contained the argument string and miscellaneous stuff I don't remember any more. In addition, the reply port was used for returning the exit status of the child process, making it possible to wait on it and unload it. That's one thing you need to remember, that LoadSeg'd code won't automatically get UnLoaded, you have to either do it manually or attach the SegList to the task structure so the system will do it for you. -- John Meissen ............................... Oregon Advanced Computing Institute jmeissen@oacis.org (Internet) | "That's the remarkable thing about life; ..!sequent!oacis!jmeissen (UUCP) | things are never so bad that they can't jmeissen (BIX) | get worse." - Calvin & Hobbes