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