Browse Source

Merge remote-tracking branch 'public/bug2077_share_delete' into maint-0.2.4

Nick Mathewson 11 years ago
parent
commit
3bdc4e5fee
2 changed files with 8 additions and 1 deletions
  1. 7 0
      changes/bug2077_share_delete
  2. 1 1
      src/common/compat.c

+ 7 - 0
changes/bug2077_share_delete

@@ -0,0 +1,7 @@
+  o Major bugfixes (windows):
+    - Open files to be mapped with FILE_SHARE_DELETE so that we can
+      replace them before closing the mapping. This is a likely cause of
+      warnings and crashes when replacing the microdescriptor cache
+      file. Diagnosed based on comments by "doorss" and by Robert
+      Ransom. Possible fix for bug 2077; bugfix on 0.2.2.6-alpha.
+

+ 1 - 1
src/common/compat.c

@@ -248,7 +248,7 @@ tor_mmap_file(const char *filename)
   strlcpy(tfilename,filename,MAX_PATH);
 #endif
   file_handle = CreateFile(tfilename,
-                           GENERIC_READ, FILE_SHARE_READ,
+                           GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_DELETE,
                            NULL,
                            OPEN_EXISTING,
                            FILE_ATTRIBUTE_NORMAL,