From: Lance Kibblewhite (LanceKi@Attachmate.com)
Date: 07/13/98-04:24:20 PM Z
Message-ID: <E1CBD72DEEFDD011914400608CBA63D116218A@exch-mcl1.eco.twg.com> From: Lance Kibblewhite <LanceKi@Attachmate.com> Subject: RE: Locking and Sharing. Date: Mon, 13 Jul 1998 14:24:20 -0700 > From: beame@mail1.tinet.ie [mailto:beame@mail1.tinet.ie] > > Message-Id: <1998Jul13.213544+0100@panasonic.bws.com> > Date: 13 Jul 1998 21:34:57 +0100 > MIME-Version: 1.0 > X-Mailer: Hummingbird 32-bit EMail Client Version 5.1.0.6 > > On Mon Jul 13 19:50:15 1998, Lance Kibblewhite wrote: > > > > Ok, my problem is that I don't understand why they are > orthogonal and > > distinct, as opposed to simply different perspectives of the same > > semantic. > > > > Can somebody please explain this. I have seen the assertions, but a > > description, and perhaps an example would be most useful. > > > Given the following processes how can they be implemented with > just locks: > > Process 1: > > OpenFile(Access = Read/Write, Share = Deny Write); > LockBytes(File, offset = 10, length = 20); > write(File, Offset = 10, Length = 20); > > Process 2: > OpenFile(Access = Read/Write, Share = Deny None); > Open Fails because Access = Write! > > Process 3: > OpenFile(Access = Read, Share = Deny Read); > Open Fail because Deny Read share clashes with Process 1 open > > Process 4: > OpenFile(Access = Read, Share = Deny None); (succeeds) > ReadBytes(File, Offset = 0, Length = 10); (succeeds) > ReadBytes(File, Offset = 5, Length = 10); > Read fails due to Lock of Process 1 > > - Carl If you defined 'just locks' to be the LOCKR and LOCKW type locks as in the draft, then I agree, it would be very difficult, if not impossible. That's why I proposed the change. And those changes would enable at least the NFS protocol to support the above example correctly. However, the point seems to be that with such a change this would be difficult to implement on a Unix kernel, and that may be. So it's not the PC perspective of this that I need, but the Unix server perspective.
This archive was generated by hypermail 2.1.2 : 03/04/05-01:45:56 AM Z CST