* syscalls.cc (rename): Don't exit prematurely with EROFS when trying

to rename an AF_LOCAL socket or when trying to replace an AF_LOCAL
	socket.
This commit is contained in:
Corinna Vinschen 2010-01-13 09:45:18 +00:00
parent 4aab0ed828
commit 4bcdec7276
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2010-01-13 Corinna Vinschen <corinna@vinschen.de>
* syscalls.cc (rename): Don't exit prematurely with EROFS when trying
to rename an AF_LOCAL socket or when trying to replace an AF_LOCAL
socket.
2010-01-12 Corinna Vinschen <corinna@vinschen.de>
* globals.cc (ro_u_nwfs): New R/O unicode string.

View File

@ -1765,7 +1765,7 @@ rename (const char *oldpath, const char *newpath)
set_errno (ENOENT);
goto out;
}
if (oldpc.isspecial ()) /* No renames from virtual FS */
if (oldpc.isspecial () && !oldpc.issocket ()) /* No renames from virtual FS */
{
set_errno (EROFS);
goto out;
@ -1814,7 +1814,7 @@ rename (const char *oldpath, const char *newpath)
set_errno (newpc.error);
goto out;
}
if (newpc.isspecial ()) /* No renames to virtual FSes */
if (newpc.isspecial () && !newpc.issocket ()) /* No renames to virtual FSes */
{
set_errno (EROFS);
goto out;