maybee@pogo.UUCP (Joe Maybee) (01/13/87)
I need to spawn a child process that has direct access to it's parent processes global data area. It will need to modify globals data, and the parent process needs to see these changes. I noticed that in the "4.2BSD System Manual" that there are some unimplemented provisions for this sort of thing (i.e. mmap). Are these implemented under 4.3? Thanks in advance.... Joe Maybee Tektronix, Inc.
libes@nbs-amrf.UUCP (Don Libes) (01/14/87)
> I need to spawn a child process that has direct access to it's parent > processes global data area. It will need to modify globals data, and > the parent process needs to see these changes. > > I noticed that in the "4.2BSD System Manual" that there are some > unimplemented provisions for this sort of thing (i.e. mmap). Solution 1: I've written some stuff that provides interprocess common memory for 4.2. It's written up in the 1985 Winter USENIX proceedings. Solution 2: I've ported XINU to 4.2 (68k-only, though re-porting should be much easier). XINU lets you run multiple tasks in a single UNIX process. Global variables are shared. A paper describing this has been submitted to the next USENIX conference. For some reason, the people I work with believe "interprocess communication" = common memory. We've got common memory hacks for every OS. I'm working on a paper called "Experiences with Common Memory" that describes and discusses many popular implementation schemes. If anyone would like to contribute to it, I'd be delighted. Our uucp machine will be down for the next two weeks (till the end of January) and I'll be at USENIX anyway, so don't bother sending mail for a while. Don Libes {seismo,mimsy}!nbs-amrf!libes