summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-05-12 11:21:59 -0400
committerNick Mathewson <nickm@torproject.org>2011-05-12 11:21:59 -0400
commit621e95a4f3e1e896ee41e261f5e0c953fb6101a9 (patch)
tree4554319bb13d26371c28ad738b40eebf9a0ba8ff
parent3968e8d14b7f6282963223b0fd4f4ca3afb60c61 (diff)
parentbdff7e3299d78cd2f7aa4a31e5f57c1aeef5ffa1 (diff)
downloadtor-621e95a4f3e1e896ee41e261f5e0c953fb6101a9.tar.gz
tor-621e95a4f3e1e896ee41e261f5e0c953fb6101a9.zip
Merge remote-tracking branch 'origin/maint-0.2.2'
-rw-r--r--changes/md_cache_replace6
-rw-r--r--src/or/microdesc.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/changes/md_cache_replace b/changes/md_cache_replace
new file mode 100644
index 0000000000..88e029c00a
--- /dev/null
+++ b/changes/md_cache_replace
@@ -0,0 +1,6 @@
+ o Minor bugfixes
+ - Avoid a bug that would keep us from replacing a microdescriptor
+ cache on Windows. (We would try to replace the file while still
+ holding it open. That's fine on Unix, but Windows doesn't let us
+ do that.) Bugfix on 0.2.2.6-alpha; bug found by wanoskarnet.
+
diff --git a/src/or/microdesc.c b/src/or/microdesc.c
index 717488bded..664e8b74c1 100644
--- a/src/or/microdesc.c
+++ b/src/or/microdesc.c
@@ -449,10 +449,11 @@ microdesc_cache_rebuild(microdesc_cache_t *cache, int force)
smartlist_add(wrote, md);
}
- finish_writing_to_file(open_file); /*XXX Check me.*/
-
if (cache->cache_content)
tor_munmap_file(cache->cache_content);
+
+ finish_writing_to_file(open_file); /*XXX Check me.*/
+
cache->cache_content = tor_mmap_file(cache->cache_fname);
if (!cache->cache_content && smartlist_len(wrote)) {