wesommer@ATHENA.MIT.EDU.UUCP (03/04/87)
For those of you using Emacs V18 and Todd Brunhoff's public domain RFS remote file system (yet another example of free software..), the following patch will prove useful. In the distributed version of the RFS server, the fsync() system call is handled as another name for the close() system call (!!). It appears that fsync() is not used by very many programs; Emacs version 18 does an fsync() before closing files to make sure that the bits are on the disk. This is fixed by the enclosed patch to the RFS server, in the file serversyscall.c; as always, your line numbers may vary. Bill Sommerfeld MIT Project Athena % rcsdiff -c -r1.2 serversyscall.c RCS file: RCS/serversyscall.c,v retrieving revision 1.2 diff -c -r1.2 serversyscall.c *** /tmp/,RCSt1003677 Wed Jan 28 15:15:02 1987 --- serversyscall.c Wed Jan 28 15:14:48 1987 *************** *** 163,169 **** /* * No return sent for close or fsync! */ ! if (syscall == RSYS_close || syscall == RSYS_fsync) proc->p_returnval = deallocate_fd(proc, msg->m_args[0]); else { --- 166,172 ---- /* * No return sent for close or fsync! */ ! if (syscall == RSYS_close) proc->p_returnval = deallocate_fd(proc, msg->m_args[0]); else {