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.1 required=5.0 tests=BAYES_05,INVALID_MSGID 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: bobduff@world.std.com (Robert A Duff) Subject: Re: Real OO Date: 1996/05/06 Message-ID: #1/1 X-Deja-AN: 153263053 references: organization: The World Public Access UNIX, Brookline, MA newsgroups: comp.lang.eiffel,comp.lang.ada,comp.object Date: 1996-05-06T00:00:00+00:00 List-Id: In article , Don Harrison wrote: >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? You could lock a single global lock, grab all the "real" locks you need, and then unlock the global one. The single global lock can be an OS call, but it's probably cheaper if it's not. But either way, you've got a single global bottleneck. Anyway, it's not as expensive as I thought on first glance, and it avoids some deadlocks. - Bob