Changeset: 8abdba3c70d5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8abdba3c70d5
Modified Files:
        gdk/gdk_posix.c
Branch: Feb2013
Log Message:

Add some assertions.


diffs (47 lines):

diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -371,6 +371,7 @@ MT_mmap(const char *path, int mode, size
        int fd = open(path, O_CREAT | ((mode & MMAP_WRITE) ? O_RDWR : 
O_RDONLY), MONETDB_MODE);
        void *ret = (void *) -1L;
 
+       assert(len % MT_pagesize() == 0);
        if (fd >= 0) {
                ret = mmap(NULL,
                           len,
@@ -388,6 +389,7 @@ MT_munmap(void *p, size_t len)
 {
        int ret = munmap(p, len);
 
+       assert(len % MT_pagesize() == 0);
 #ifdef MMAP_DEBUG
        fprintf(stderr, "#munmap(" PTRFMT "," SZFMT ") = %d\n", PTRFMTCAST p, 
len, ret);
 #endif
@@ -408,6 +410,9 @@ MT_mremap(const char *path, int mode, vo
 
        /* doesn't make sense for us to extend read-only memory map */
        assert(mode & MMAP_WRITABLE);
+       assert(old_size % MT_pagesize() == 0);
+       assert(*new_size % MT_pagesize() == 0);
+       assert((size_t) old_address % MT_pagesize() == 0);
 
        if (*new_size < old_size) {
                /* shrink */
@@ -708,6 +713,7 @@ MT_mmap(const char *path, int mode, size
        HANDLE h1, h2;
        void *ret;
 
+       assert(len % MT_pagesize() == 0);
        if (mode & MMAP_WRITE) {
                mode0 |= FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES | 
FILE_WRITE_DATA;
        }
@@ -778,6 +784,9 @@ MT_mremap(const char *path, int mode, vo
 
        /* doesn't make sense for us to extend read-only memory map */
        assert(mode & MMAP_WRITABLE);
+       assert(old_size % MT_pagesize() == 0);
+       assert(*new_size % MT_pagesize() == 0);
+       assert((size_t) old_address % MT_pagesize() == 0);
 
        if (old_size >= *new_size) {
                *new_size = old_size;
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to