renameat
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/renameat.html
Gnulib module: renameat
Portability problems fixed by Gnulib:
renameat(fd,"file",fd,"new/"):
Solaris 11 2011-11.
renameat(fd,"link/",fd,"new") corrupts link:
Solaris 9.
<unistd.h> instead of <stdio.h>
on some platforms:
Solaris 11 2011-11.
Portability problems not fixed by Gnulib:
renameat(fd,"symlink-to-dir/",fd,"dir2") rename
dir and leave symlink-to-dir dangling; likewise, it
requires that renameat(fd,"dir",fd,"dangling/") rename dir so
that dangling is no longer a dangling symlink. This behavior
is counter-intuitive, so on some systems, renameat fails with
ENOTDIR if either argument is a symlink with a trailing slash:
glibc, OpenBSD, Cygwin 1.7.
stat function
for 30 seconds after the rename, on NFS file systems, on some platforms:
Linux 2.6.18.