Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site cbosgd.UUCP
Path: utzoo!linus!decvax!harpo!whuxlm!whuxl!houxm!ihnp4!cbosgd!ka
From: ka@cbosgd.UUCP (Kenneth Almquist)
Newsgroups: net.news
Subject: Re: unable to abort replies
Message-ID: <478@cbosgd.UUCP>
Date: Wed, 7-Nov-84 03:18:54 EST
Article-I.D.: cbosgd.478
Posted: Wed Nov  7 03:18:54 1984
Date-Received: Thu, 8-Nov-84 07:08:25 EST
References: <484@astrovax.UUCP>
Reply-To: ka@cbosgd.UUCP (Kenneth Almquist)
Organization: Bell Labs, Columbus
Lines: 36

> I see from the code that the criteria for cancelling the reply is that
> the modification time of the file be same after invoking the editor as
> before.  I can't really visualize right now why this would fail but
> maybe it is due to 1 second time quantization (although it would seem
> to me to be more likely to fail in the sense of erroneously cancelling
> a reply).
>
> Does anybody have any ideas?  In case it makes any difference we are
> running 4.2 BSD.

In order to save on memory, System V and its predecessors do not
include the modified time of a file in the in core copy of the
inode.  Instead the in core copy of the file simply has a flag which
is set when the file is modified.  When the inode is next written to
disk, the modified flag on the in core copy of the inode is cleared
and the modified time on the disk copy of the inode is set to
current time, which of course is not necessarily the same as the
time that the modified flag was set.

I was a little surprised to read that the code also fails under
4.2 BSD since under 4.2 the in core copy of the inode does include
the modified time of the file.  However, a look at the 4.2 BSD code
reveals that 4.2 BSD has a modified flag, and updates the modified
time on an inode to the current time before writing the inode to
disk when the modified flag is set.  Perhaps the Berkeley people are
more committed to being compatible with System V than we realized :-).

The moral of all of this is, don't expect file modification times to
be recorded down to the precise second.  Using the file modification
time would be a bad practice even if UN*X supported it because
people tend to get in the habit of writing before they exit the
editor even when they haven't made any changes.  2.11 vnews assumes
that the user doesn't want to post a reply if
1)  The file size is not changed, and
2)  A checksum of the file is the same as when the file was written.
				Kenneth Almquist