monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] net.venge.monotone: 7cbb20501714be7f25f30734da8


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone: 7cbb20501714be7f25f30734da82d41c7ac427ca
Date: Sun, 14 Aug 2011 18:52:48 +0200 (CEST)

revision:            7cbb20501714be7f25f30734da82d41c7ac427ca
date:                2011-08-14T16:47:11
author:              address@hidden
branch:              net.venge.monotone
changelog:
Fix recursive file removal on Solaris

Solaris' remove() and rmdir() functions return
EEXIST on non-empty directories, but the code
only looked for ENOTEMPTY.

* src/unix/fs.cc: test for EEXIST

manifest:
format_version "1"

new_manifest [cdd6d7873cfead29cf00c9b7fedbda4e302ebff6]

old_revision [e8c64454921c1c78f931a98ada0a20e649bd6d85]

patch "src/unix/fs.cc"
 from [4a432ccc7d7f5926ba00b108f45960aa013d23b8]
   to [d34f7ed4b5cf3655d7920568e4e1a146fa670e13]
============================================================
--- src/unix/fs.cc	4a432ccc7d7f5926ba00b108f45960aa013d23b8
+++ src/unix/fs.cc	d34f7ed4b5cf3655d7920568e4e1a146fa670e13
@@ -359,7 +359,7 @@ do_remove_recursive(string const & path)
   if (err == ENOENT)
     return; // nothing to delete
 
-  E(err == ENOTEMPTY, origin::system,
+  E((err == ENOTEMPTY) || (err == EEXIST), origin::system,
     F("could not remove '%s': %s") % path % os_strerror(err));
 
   // If we get here, it's a non-empty directory to be recursed through.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]