[M3devel] FW: Wr.Unlock to restore invariants?

Jay K jay.krell at cornell.edu
Mon Aug 31 12:02:26 CEST 2009


My later change undoes this, and in general AutoFlushWr wasn't honoring it before -- in particular Flush and Length.

Insert the extra unlock/lock to "fix" that?

 

In particular, WrClass.i3:

 

PROCEDURE Unlock(wr: Wr.T);
(* The writer wr must be locked and valid; unlock it and restore 
the private invariant of the writer implementation. *)


 - Jay
 
> Date: Mon, 31 Aug 2009 11:11:51 +0000
> To: m3commit at elegosoft.com
> From: jkrell at elego.de
> Subject: [M3commit] CVS Update: cm3
> 
> CVSROOT: /usr/cvs
> Changes by: jkrell at birch. 09/08/31 11:11:51
> 
> Modified files:
> cm3/m3-libs/libm3/src/rw/: AutoFlushWr.m3 
> 
> Log message:
> Since Unlock is also documented as restoring invariants, restore
> the early Unlock, and then put in an extra Lock after that.
> In reality all the reader/writers implemented here don't do
> anything in Unlock except unlock, so it was ok.
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090831/70cb69a8/attachment-0001.html>


More information about the M3devel mailing list