On Wed, Feb 26, 2014 at 4:40 PM, Alex Kocharin a...@kocharin.ru wrote:
This sounds like a very good idea... I wonder, is there any downside to it?
Performance maybe?
Its good idea if its what you want to do.
It doesn't work with directories on systems that don't allow hard
links between
Also note that fs-ext (on npm) implements flock() which is required in many
circumstances too.
On Wed, Feb 26, 2014 at 12:20 AM, Andrew Kelley superjo...@gmail.comwrote:
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
This sounds like a very good idea... I wonder, is there any downside to it? Performance maybe? 26.02.2014, 09:20, "Andrew Kelley" superjo...@gmail.com: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
There is no performance downside in the failure mode. But obviously in the
success mode there's two function calls vs one. But realistically the overhead
of file system operations on spinning disks will far outweigh the extra API
calls.
On Feb 26, 2014, at 7:40 PM, Alex Kocharin
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,
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
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: