I've heard of this occasionally. In fact I'm sort of surprised it doesn't happen more often.
What we ought to do is write to a temporary filename, then rename to the true object file, the way that Cache::FileCache (and now CHI::Driver::File) do. Jon On Feb 8, 2008, at 3:12 PM, Ian Burrell wrote: > On Feb 8, 2008 3:02 PM, Jeremy Blain <[EMAIL PROTECTED]> wrote: >> You can use static_source_touch_file directive to prevent this. >> Upload the stuff, then 'touch' the magic file when you're ready to >> go. >> > > I think it is still possible since the race condition is on writing > the file not deciding if it needs to be created. The timeline looks > like: > > A: file does not exist > A: open object file to write > A: write first block > B: file exists > B: load object file > A: write rest of file > A: close file > > B sees that the file already exists and reads the first half of the > file while A is still writing the rest of the file. > > - Ian > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Mason-users mailing list > Mason-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mason-users > ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Mason-users mailing list Mason-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mason-users