[8938] in Athena Bugs

home help back first fref pref prev next nref lref last post

rsaix 7.3S: rs6000

daemon@ATHENA.MIT.EDU (chasman@Athena.MIT.EDU)
Wed Feb 5 15:14:45 1992

From: chasman@Athena.MIT.EDU
To: bugs@Athena.MIT.EDU
Date: Wed, 05 Feb 92 15:14:26 EST

System name:		w20-575-2
Type and version:	POWER 7.3S
Display type:		graygda

What were you trying to do?

I was developing some fortran code using the make utility

What's wrong:

When you save the file - make isn't able to tell that you've saved
the file - to hazard a guess, this has something to do with the way
buffering of files is implemented on for the rs6000 on NFS.

Here'e what I think happens (of course there could be no relation)

(1) emacs does a system call of the "write file" variety.

(2) this "write file" is dumped into a local buffer, and the
    local file table locks the file so that nobody else can
    read or write it until the local copy is cleared to the
    nfs destination.
(3) Make is then invoked, and it simply looks at the directory
    (which isn't locked , since it won't be modified until the
    lock on the original file is cleared), the directory doesn't
    indicate that there is a new version of the source file.

I suspect that the way to fix this is to change the buffering scheme
so that the directory in which a file which is being buffered in is
also locked until the file locks clear.

Here's some evidence which is consistent with my hypothesis:

first, I did :
>>date
the computer answered :
Wed Feb 05 15:11:14 EST 1992

then, I saved my emacs file, then I did:

>>ls -l tspecval.f
Frw-------   1 chasman  mit         2535 Feb 05 15:09 tspecval.f

this indicates that my directory wasn't up to date !

What should have happened:

see above

Please describe any relevant documentation references:
	[Please replace this line with your information.]

home help back first fref pref prev next nref lref last post