May 16, 2019
1:04 p.m.
16.05.19 14:33, Antoine Pitrou пише:
On Thu, 16 May 2019 13:05:48 +0300 Serhiy Storchaka <storchaka@gmail.com> wrote:
16.05.19 11:28, Barry Scott пише:
To replace one symlink with another atomically is possible by using rename() or renameat() something like:
os.symlink( src, tmp_symlink ) os.rename( tmp_symlink, dst )
Somebody can replace tmp_symlink between os.symlink() and os.rename().
Not if tmp_symlink is created in a directory with strict permissions, I guess.
But in such case we do not need complex games with a temporary symlink. Just use os.symlink() and os.unlink() if needed.