You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2015/01/22 15:59:43 UTC
svn commit: r1653893 - /subversion/trunk/subversion/libsvn_subr/io.c
Author: philip
Date: Thu Jan 22 14:59:42 2015
New Revision: 1653893
URL: http://svn.apache.org/r1653893
Log:
* subversion/libsvn_subr/io.c
(svn_io_remove_file2): Ensure Windows does not return an ENOENT error
when ignore_enoent is set and the retry loop is triggered.
Modified:
subversion/trunk/subversion/libsvn_subr/io.c
Modified: subversion/trunk/subversion/libsvn_subr/io.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?rev=1653893&r1=1653892&r2=1653893&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/io.c (original)
+++ subversion/trunk/subversion/libsvn_subr/io.c Thu Jan 22 14:59:42 2015
@@ -2495,7 +2495,12 @@ svn_io_remove_file2(const char *path,
}
#endif
- if (apr_err)
+ /* On Windows EACCESS at the start could be followed by ENOENT from
+ the retry so repeat the ignore_enoent check. */
+ if (apr_err
+ && !(ignore_enoent
+ && (APR_STATUS_IS_ENOENT(apr_err)
+ || SVN__APR_STATUS_IS_ENOTDIR(apr_err))))
return svn_error_wrap_apr(apr_err, _("Can't remove file '%s'"),
svn_dirent_local_style(path, scratch_pool));