Browse Source

r7025@Kushana: nickm | 2006-08-04 12:03:22 -0700
Finish (I hope) windows mmap impl.


svn:r6981

Nick Mathewson 18 years ago
parent
commit
db72fb9cdc
1 changed files with 8 additions and 6 deletions
  1. 8 6
      src/common/compat.c

+ 8 - 6
src/common/compat.c

@@ -169,18 +169,20 @@ tor_mmap_file(const char *filename, const char **data, size_t *size)
 {
   win_mmap_t *res = tor_malloc_zero(res);
   res->mmap_handle = res->file_handle = INVALID_HANDLE_VALUE;
-  /* What's this about tags? */
 
-  /* Open the file. */
-  res->file_handle = XXXXX;
+  res->file_handle = CreateFileForMapping(filename,
+                                          GENERIC_READ,
+                                          0, NULL,
+                                          OPEN_EXISTING,
+                                          FILE_ATTRIBUTE_NORMAL, 0);
   res->size = GetFileSize(res->file_handle, NULL);
 
   res->mmap_handle = CreateFileMapping(res->file_handle,
                                        NULL,
                                        PAGE_READONLY,
-                                       0,
-                                       size,
-                                       tagname);
+                                       (size >> 32),
+                                       (size & 0xfffffffful),
+                                       NULL);
   if (res->mmap_handle != INVALID_HANDLE_VALUE)
     goto err;
   res->data = (char*) MapViewOfFile(res->mmap_handle,