Changeset: 5aa004a42bd3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5aa004a42bd3
Modified Files:
        gdk/gdk_utils.c
        tools/mserver/mserver5.c
Branch: Nov2019
Log Message:

On 64 bit systems with 32 bit builds, don't overflow memory calculations.


diffs (44 lines):

diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -676,6 +676,11 @@ GDKinit(opt *set, int setlen)
        }
 
        /* Mserver by default takes 80% of all memory as a default */
+#if SIZEOF_SIZE_T == 4
+       if ((double) MT_npages() * (double) MT_pagesize() * 0.815 >= (double) 
GDK_VM_MAXSIZE)
+               GDK_mem_maxsize = GDK_VM_MAXSIZE;
+       else
+#endif
        GDK_mem_maxsize = (size_t) ((double) MT_npages() * (double) 
MT_pagesize() * 0.815);
        if (BBPinit() != GDK_SUCCEED)
                return GDK_FAIL;
diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c
--- a/tools/mserver/mserver5.c
+++ b/tools/mserver/mserver5.c
@@ -121,7 +121,7 @@ usage(char *prog, int xit)
 static void
 monet_hello(void)
 {
-       dbl sz_mem_h;
+       double sz_mem_h;
        char  *qc = " kMGTPE";
        int qi = 0;
 
@@ -149,14 +149,14 @@ monet_hello(void)
                        ""
 #endif
                        );
-       sz_mem_h = (dbl) (MT_npages() * MT_pagesize());
+       sz_mem_h = (double) MT_npages() * MT_pagesize();
        while (sz_mem_h >= 1000.0 && qi < 6) {
                sz_mem_h /= 1024.0;
                qi++;
        }
        printf("# Found %.3f %ciB available main-memory",
                        sz_mem_h, qc[qi]);
-       sz_mem_h = (dbl) GDK_mem_maxsize;
+       sz_mem_h = (double) GDK_mem_maxsize;
        qi = 0;
        while (sz_mem_h >= 1000.0 && qi < 6) {
                sz_mem_h /= 1024.0;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to