Explorar el Código

The length given to msync was calculated wrong :/.

Jay Freeman (saurik) hace 9 años
padre
commit
89cb5d4dd7
Se han modificado 1 ficheros con 2 adiciones y 1 borrados
  1. 2 1
      apt-pkg/contrib/mmap.cc

+ 2 - 1
apt-pkg/contrib/mmap.cc

@@ -202,7 +202,8 @@ bool MMap::Sync(unsigned long Start,unsigned long Stop)
       {
 #ifdef _POSIX_SYNCHRONIZED_IO
 	 unsigned long long const PSize = sysconf(_SC_PAGESIZE);
-	 if (msync((char *)Base+(Start/PSize)*PSize, Stop - Start, MS_SYNC) < 0)
+         Start = (Start/PSize)*PSize;
+	 if (msync((char *)Base+Start, Stop - Start, MS_SYNC) < 0)
 	    return _error->Errno("msync", _("Unable to synchronize mmap"));
 #endif
       }