From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,c52c30d32b866eae X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,2ea02452876a15e1 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,c52c30d32b866eae X-Google-Attributes: gid1108a1,public From: donh@syd.csa.com.au (Don Harrison) Subject: Re: Real OO Date: 1996/05/06 Message-ID: #1/1 X-Deja-AN: 153231843 sender: news@assip.csasyd.oz references: organization: CSC Australia reply-to: donh@syd.csa.com.au newsgroups: comp.lang.eiffel,comp.lang.ada,comp.object Date: 1996-05-06T00:00:00+00:00 List-Id: Robert A Duff writes: :I'll have to read up on SCOOP one of these days. I'm not surprised that :it defines an order for locking. It's not clear to me how one can :efficiently lock multiple objects "at the same time", i.e. as a single :atomic operation. To avoid deadlocks, it seems like much complicated :hand-shaking would be necessary. Me: :>In 'Ziggy', you would just write: :> :>op (a: separate A; b: separate B) is ... end -- locks a and b atomically :> :>No need for a wrapper. Bob again: :Sorry I wasn't clear. Yes, I understand the above. My question was, :how does the person writing the Ziggy compiler/run-time system :*implement* this "simultaneous" locking of a and b? At the machine-code :level, I mean? There are others who could answer this better than I, but you would expect that locking would actually be sequential at the machine-code level. Could you use an OS call to exclude all other processes during locking and revoke that privilege when completed? : :- Bob /// Don. (o o) =-=-=-=-=-=-=-=oOO=-(_)-=OOo=-=-=-=-=-=-=-=-