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

Reply via email to