Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!jsq From: barmar@think.uucp (Barry Margolin) Newsgroups: comp.std.unix Subject: Re: qfork() Message-ID: <16244@cs.utexas.edu> Date: 26 Dec 90 22:54:50 GMT References: <16066@cs.utexas.edu> <16213@cs.utexas.edu> Sender: jsq@cs.utexas.edu Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 22 Approved: jsq@cs.utexas.edu (Moderator, John S. Quarterman) X-Submissions: std-unix@uunet.uu.net Submitted-by: barmar@think.uucp (Barry Margolin) In article <16213@cs.utexas.edu> jason@cnd.hp.com (Jason Zions) writes: >Instead of replacing "executes any code", I think you could just add the >phrase "which modifies memory or calls any function" and maintain the >intent. Examining variables doesn't depend upon the virtual memory >relationship between child and parent, but munging a stack for a function >call might behave differently and hence must be rendered undefined. Rather than "modifies memory" I suggest it be "modifies any variables" or something like it that refers to high-level objects created by the C program. Just examining a variable may modify memory; on a stack machine, comparing a variable with zero generally requires pushing the variable onto the stack, and even on a register machine loading the variable into a register might force the register's old value to be written to memory. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar Volume-Number: Volume 22, Number 41