Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.windows.x Subject: Re: R4 Athena Widget question. Message-ID: <2993@auspex.auspex.com> Date: 6 Mar 90 18:50:19 GMT References: <100920180@hpcvlx.cv.hp.com> <9003042232.AA01692@underprize.think.com> Organization: Auspex Systems, Santa Clara Lines: 17 > Every UN*X system that I've used allows the programmer to create a > file, and then unlink it from the file system. As long as it is not > closed, it exists known only by the program until it exits. (The > Morris worm exploited this behavior.) When the program calls exit(), > the system calls clean everything up very nicely. > >This doesn't work too well on NFS filesystems... Gee, it works just fine on all the NFS filesystems *I've* used. The trick the NFS clients with which I'm familiar use is that instead of unlinking the file, they rename it to a temporary name, and when the last process on that client that has the file open closes it, they remove it. This works for the case of unlinking an open temporary file. (Yes, if the client machine crashes, the file doesn't get unlinked. The solution I've seen is to use a "find" script to remove files with names of the sort used as temporary names.)