diff src/fileio.c @ 2523:0dffdd8f8871 vim73

Fixed: on MS-Windows sometimes files with number 4913 or higher are left behind.
author Bram Moolenaar <bram@vim.org>
date Sun, 08 Aug 2010 18:46:06 +0200
parents 88751831fa0a
children 5769dc787ec5
line wrap: on
line diff
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3744,6 +3744,22 @@ buf_write(buf, fname, sfname, start, end
 		     * can't delete an open file. */
 		    close(fd);
 		    mch_remove(IObuff);
+# ifdef MSWIN
+		    /* MS-Windows may trigger a virus scanner to open the
+		     * file, we can't delete it then.  Keep trying for half a
+		     * second. */
+		    {
+			int try;
+
+			for (try = 0; try < 10; ++try)
+			{
+			    if (mch_lstat((char *)IObuff, &st) < 0)
+				break;
+			    ui_delay(50L, TRUE);  /* wait 50 msec */
+			    mch_remove(IObuff);
+			}
+		    }
+# endif
 		}
 	    }
 	}