--- syscalls.cc 2002-06-02 05:14:47.000000000 +0200 +++ syscalls.cc.patched 2002-06-04 14:21:55.000000000 +0200 @@ -95,10 +95,18 @@ extern "C" int _unlink (const char *ourname) { int res = -1; + DWORD devn; sigframe thisframe (mainthread); path_conv win32_name (ourname, PC_SYM_NOFOLLOW | PC_FULL); + if ((devn = win32_name.get_devn ()) == FH_PROC || devn == FH_REGISTRY || + devn == FH_PROCESS) + { + set_errno (EROFS); + goto done; + } + if (win32_name.error) { set_errno (win32_name.error);