http://qs321.pair.com?node_id=11141037


in reply to Re: Perl forked processes and variable sharing
in thread Perl forked processes and variable sharing

Hi Dave,

Thanks for your reply. I had considered that perhaps the same address in two processes might be in two entirely different address spaces and therefore not physically the same addresses, so that is why in my code I had included the test where the child process reads the value of the scalar at the address passed to it as an argument by the parent process. What the child process finds at that passed address is exactly the same value that the parent wrote to that address. So it seems that in my program the same two virtual addresses map to the same two physical addresses.

Perhaps when the child reads from that address the physical addresses are the same, but after the child writes to that address what happens behind the scenes is that that physical address is not overwritten in place, lest the new value from the child be longer than the original value from the parent and neighboring variable values be clobbered, so instead the new value is written by the child to a new physical address which remains unknown to the parent.

Thanks for your thoughts on this.

Richard