Actually, there is a solution! fs.link to the new file. This will fail with 
EEXIST if it exists. And then fs.unlink on the old file.

Everything works, life is good

On Wednesday, February 26, 2014 12:07:29 AM UTC-5, Andrew Kelley wrote:
>
> I guess it comes down to the rename C function: 
> http://pubs.opengroup.org/onlinepubs/009695399/functions/rename.html
>
> Doesn't support no-overwrite flags. So there's not really a fix to this.
> On Wednesday, February 26, 2014 12:01:18 AM UTC-5, Andrew Kelley wrote:
>>
>> Oops, I see that fs.createWriteStream has the flags as an option. But I 
>> think the point still stands for fs.rename.
>>
>> On Tuesday, February 25, 2014 11:56:44 PM UTC-5, Andrew Kelley wrote:
>>>
>>> fs.open has an important flag you can set to avoid race conditions: wx
>>>
>>> This allows you to open a file, only if it does not exist. This is more 
>>> correct than doing fs.stat and checking the result, because things could 
>>> have changed by the time you get the callback.
>>>
>>> Where is this API for fs.createWriteStream and fs.rename? These guys 
>>> need to have that option too.
>>>
>>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to