gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r13899 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r13899 - gnunet/src/util
Date: Mon, 13 Dec 2010 22:04:59 +0100

Author: durner
Date: 2010-12-13 22:04:59 +0100 (Mon, 13 Dec 2010)
New Revision: 13899

Modified:
   gnunet/src/util/disk.c
Log:
fix MinGW munmap (#1628)

Modified: gnunet/src/util/disk.c
===================================================================
--- gnunet/src/util/disk.c      2010-12-13 15:00:45 UTC (rev 13898)
+++ gnunet/src/util/disk.c      2010-12-13 21:04:59 UTC (rev 13899)
@@ -1478,6 +1478,11 @@
  */
 struct GNUNET_DISK_MapHandle
 {
+  /**
+   * Address where the map is in memory.
+   */
+  void *addr;
+
 #ifdef MINGW
   /**
    * Underlying OS handle.
@@ -1485,11 +1490,6 @@
   HANDLE h;
 #else
   /**
-   * Address where the map is in memory.
-   */
-  void *addr;
-
-  /**
    * Number of bytes mapped.
    */
   size_t len;
@@ -1523,7 +1523,6 @@
 
 #ifdef MINGW
   DWORD mapAccess, protect;
-  void *ret;
 
   if ((access & GNUNET_DISK_MAP_TYPE_READ) &&
       (access & GNUNET_DISK_MAP_TYPE_WRITE))
@@ -1556,15 +1555,15 @@
       return NULL;
     }
 
-  ret = MapViewOfFile ((*m)->h, mapAccess, 0, 0, len);
-  if (!ret)
+  (*m)->addr = MapViewOfFile ((*m)->h, mapAccess, 0, 0, len);
+  if (!(*m)->addr)
     {
       SetErrnoFromWinError (GetLastError ());
       CloseHandle ((*m)->h);
       GNUNET_free (*m);
     }
 
-  return ret;
+  return (*m)->addr;
 #else
   int prot;
 
@@ -1602,7 +1601,7 @@
     }
 
 #ifdef MINGW
-  ret = UnmapViewOfFile (h->h) ? GNUNET_OK : GNUNET_SYSERR;
+  ret = UnmapViewOfFile (h->addr) ? GNUNET_OK : GNUNET_SYSERR;
   if (ret != GNUNET_OK)
     SetErrnoFromWinError (GetLastError ());
   if (!CloseHandle (h->h) && (ret == GNUNET_OK))




reply via email to

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