* 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> 2010-01-12 Corinna Vinschen <corinna@vinschen.de>
* globals.cc (ro_u_nwfs): New R/O unicode string. * 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); set_errno (ENOENT);
goto out; goto out;
} }
if (oldpc.isspecial ()) /* No renames from virtual FS */ if (oldpc.isspecial () && !oldpc.issocket ()) /* No renames from virtual FS */
{ {
set_errno (EROFS); set_errno (EROFS);
goto out; goto out;
@ -1814,7 +1814,7 @@ rename (const char *oldpath, const char *newpath)
set_errno (newpc.error); set_errno (newpc.error);
goto out; goto out;
} }
if (newpc.isspecial ()) /* No renames to virtual FSes */ if (newpc.isspecial () && !newpc.issocket ()) /* No renames to virtual FSes */
{ {
set_errno (EROFS); set_errno (EROFS);
goto out; goto out;