rms@PREP.AI.MIT.EDU.UUCP (03/04/87)
In fileio.c, in Fwrite_region, the order of the fsync and fstat must be interchanged. The bug was in 18.37 as well. Here is how the code should now look: #ifndef USG #ifndef VMS #ifndef BSD4_1 /* Note fsync appears to change the modtime on BSD4.2 (both vax and sun). */ fsync (fd); #endif #endif #endif /* On VMS and APOLLO, must do the stat after the close since closing changes the modtime. */ #ifndef VMS #ifndef APOLLO /* Recall that #if defined does not work on VMS. */ #define FOO fstat (fd, &st); #endif #endif I believe that they were put in the other order to avoid spurious "file has changed on disk" messages with RFS. But the effect of that change was to cause the same problem with ordinary files. Therefore, it must be changed back to the order above. If this causes problems with RFS to resume, I hope someone else can find another fix.