Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!clyde.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!usc!wuarchive!emory!hubcap!tkammeye From: tkammeye@sdcsvax@ucsd.edu (Thomas E. Kammeyer) Newsgroups: comp.parallel Subject: Re: A Linda Question Summary: Definition of out() for linda Keywords: linda, parallel computation, tuple space, shared memory Message-ID: <12486@hubcap.clemson.edu> Date: 6 Jan 91 18:06:25 GMT References: <12439@hubcap.clemson.edu> Sender: fpst@hubcap.clemson.edu Followup-To: <12439@hubcap.clemson.edu> Organization: CSE Dept., U.C. San Diego Lines: 34 Approved: parallel@hubcap.clemson.edu In article <12439@hubcap.clemson.edu> snykanen@cs.Helsinki.FI (Silja Nykanen) writes: >We would like to know if there is an exact definition for >the out-operation of Linda. ... >There are not any guarantees that >the inp-operation would succeed in the following example: > >out("T"); >inp("T"); > My version of the "C-linda Reference Manual" says: (section 3.4, page 19) "A given tuple is evaluated and then added to tuple space with the out() operation. Once the tuple has been added, the executing process continues immediately." In human language: The all of the arguments to out() are evaluated by the process calling out() and then out() waits until it has finished adding the completed tuple to the tuple space before continuing (note the relative clause at the beginning of the second sentence of my quote. If your example used eval() in place of out, then of course the inp()'s success would depend completely 'pon whether process scheduling happened to run the process before the process which was forked to do the eval(). Hope this is helpful, and correct. If you lack a recent reference manual, and cannot acquire one, send e-mail and I'll be glad to help track down the relevant source. ---------------------------------------------------------------------------- >From the fevered brain of: Thomas E. Kammeyer Disclaimer: My opinions are mine alone... in particular they in no way are meant to be taken as policy or opinion of those I work for or of the University of California in general. If my facts turn out to be wrong, I will not be held responsible; I reserve the right to my fallibility and thus my humanity. Check my facts if you desire absolute certitude. ----------------------------------------------------------------------------