Changeset: d8e81ed35b3e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d8e81ed35b3e
Modified Files:
        MonetDB.spec
        buildtools/ChangeLog.Jan2014
        configure.ag
        debian/control
        gdk/gdk_private.h
        gdk/gdk_system.h
        gdk/gdk_utils.c
        monetdb5/mal/mal_exception.c
        monetdb5/mal/mal_recycle.c
        monetdb5/mal/mal_resource.c
Branch: default
Log Message:

Merge with Jan2014 branch.


diffs (175 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -52,7 +52,7 @@ BuildRequires: bzip2-devel
 # BuildRequires: cfitsio-devel
 BuildRequires: flex
 %if %{?with_geos:1}%{!?with_geos:0}
-BuildRequires: geos-devel >= 2.2.0
+BuildRequires: geos-devel >= 3.0.0
 %endif
 BuildRequires: gsl-devel
 BuildRequires: libcurl-devel
diff --git a/buildtools/ChangeLog.Jan2014 b/buildtools/ChangeLog.Jan2014
--- a/buildtools/ChangeLog.Jan2014
+++ b/buildtools/ChangeLog.Jan2014
@@ -1,3 +1,8 @@
 # ChangeLog file for buildtools
 # This file is updated with Maddlog
 
+* Tue Jun  3 2014 Sjoerd Mullender <sjo...@acm.org>
+- Fix configure to continue without Python if the python binary is
+  too old.  This instead of always aborting configure if python happens
+  to be too old.
+
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -1224,25 +1224,22 @@ case "$have_python3" in
                ;;
 esac
 
+dnl Figure out a default for PYTHON2 or PYTHON3
 AC_PATH_PROG(PYTHON,python,no,$PATH)
-PYTHON_MAJ=
+PYTHON_MAJ=unknown
 if test "x$PYTHON" != xno; then
        AC_MSG_CHECKING([major version of $PYTHON])
        case "`"$PYTHON" -V 2>&1`" in
-               "Python 2."[[67]]*)  # older Pythons don't get Python3 syntax
+               "Python 2."[[67]]*)
                        PYTHON_MAJ=2
                        ;;
                "Python 3."*)
                        PYTHON_MAJ=3
                        ;;
-               *)
-                       AC_MSG_ERROR([unknown or unsupported Python version])
-                       ;;
        esac
        AC_MSG_RESULT($PYTHON_MAJ)
 fi
 
-
 if test "x$have_python2" != xno; then
        if test x$cross_compiling != xyes; then
                AC_PATH_PROG(PYTHON2,$PYTHON2,no,$PATH)
@@ -1256,6 +1253,19 @@ if test "x$have_python2" != xno; then
                                have_python2=no
                                why_have_python2="(Python 2 executable not 
found)"
                        fi
+               else
+                       case "`"$PYTHON2" -V 2>&1`" in
+                       "Python 2."[[67]]*)
+                               ;;
+                       *)
+                               if test "x$have_python2" = xauto; then
+                                       have_python2=no
+                                       why_have_python2="(Python 2 executable 
too old)"
+                               else
+                                       AC_MSG_ERROR([Python 2 executable too 
old])
+                               fi
+                               ;;
+                       esac
                fi
        fi
 fi
@@ -2359,8 +2369,7 @@ AC_ARG_WITH(geos,
        have_geos="$withval")
 case "$enable_geom" in
 yes|auto)
-       GEOS_VERSION_REQUIRED_MIN=2.2.0
-       dnl GEOS_VERSION_REQUIRED_MAX=3.0.0
+       GEOS_VERSION_REQUIRED_MIN=3.0.0
        GEOS_CONFIG=''
        if test "x$have_geos" != xno; then
                case "$have_geos" in
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Vcs-Hg: http://dev.monetdb.org/hg/MonetD
 # for Build-Depends and Depends syntax, see
 # http://www.debian.org/doc/debian-policy/ch-relationships.html
 Build-Depends: debhelper (>= 5), autotools-dev, bison, flex, libbz2-dev,
- libcurl4-gnutls-dev, libgeos-dev, libgsl0-dev, libpcre3-dev,
+ libcurl4-gnutls-dev, libgeos-dev (>= 3.0.0), libgsl0-dev, libpcre3-dev,
  libreadline-gplv2-dev | libreadline-dev, libssl-dev, libxml2-dev, perl,
  ruby, rubygems | libyaml-0-2, unixodbc-dev, uuid-dev, zlib1g-dev,
  python, python3
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -461,7 +461,7 @@ GDKvm_cursize(void)
        do {                                                            \
                int _idx;                                               \
                                                                        \
-               ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapinc"); \
+               (void) ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, 
mbyteslock, "heapinc"); \
                GDKmallidx(_idx, _memdelta);                            \
                (void) ATOMIC_INC(GDK_nmallocs[_idx], mbyteslock, "heapinc"); \
        } while (0)
@@ -470,15 +470,15 @@ GDKvm_cursize(void)
                ssize_t _memdelta = (ssize_t) (memdelta);               \
                int _idx;                                               \
                                                                        \
-               ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapdec"); \
+               (void) ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, 
mbyteslock, "heapdec"); \
                GDKmallidx(_idx, _memdelta);                            \
                (void) ATOMIC_DEC(GDK_nmallocs[_idx], mbyteslock, "heapdec"); \
        } while (0)
 #else
 #define heapinc(_memdelta)                                             \
-       ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapinc")
+       (void) ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapinc")
 #define heapdec(_memdelta)                                             \
-       ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapdec")
+       (void) ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapdec")
 #endif
 
 #ifdef GDK_VM_KEEPHISTO
@@ -489,7 +489,7 @@ GDKvm_cursize(void)
                                                                        \
                GDKmallidx(_idx, _vmdelta);                             \
                (void) ATOMIC_INC(GDK_vm_nallocs[_idx], mbyteslock, fcn); \
-               ATOMIC_ADD(GDK_vm_cursize, _vmdelta, mbyteslock, fcn);  \
+               (void) ATOMIC_ADD(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \
        } while (0)
 #define memdec(vmdelta, fcn)                                           \
        do {                                                            \
@@ -498,13 +498,13 @@ GDKvm_cursize(void)
                                                                        \
                GDKmallidx(_idx, _vmdelta);                             \
                (void) ATOMIC_DEC(GDK_vm_nallocs[_idx], mbyteslock, fcn); \
-               ATOMIC_SUB(GDK_vm_cursize, _vmdelta, mbyteslock, fcn);  \
+               (void) ATOMIC_SUB(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \
        } while (0)
 #else
 #define meminc(vmdelta, fcn)                                           \
-       ATOMIC_ADD(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), 
mbyteslock, fcn)
+       (void) ATOMIC_ADD(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), 
MT_VMUNITLOG), mbyteslock, fcn)
 #define memdec(vmdelta, fcn)                                           \
-       ATOMIC_SUB(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), 
mbyteslock, fcn)
+       (void) ATOMIC_SUB(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), 
MT_VMUNITLOG), mbyteslock, fcn)
 #endif
 
 #ifndef STATIC_CODE_ANALYSIS
diff --git a/monetdb5/mal/mal_exception.c b/monetdb5/mal/mal_exception.c
--- a/monetdb5/mal/mal_exception.c
+++ b/monetdb5/mal/mal_exception.c
@@ -79,8 +79,14 @@ createExceptionInternal(enum malexceptio
        len += vsnprintf(message + len, GDKMAXERRLEN - len, format, ap);
        /* realloc to reduce amount of allocated memory (GDKMAXERRLEN is
         * way more than what is normally needed) */
-       if (len < GDKMAXERRLEN)
-               message = GDKrealloc(message, len + 1);
+       if (len < GDKMAXERRLEN) {
+               /* in the extremely unlikely case that GDKrealloc fails, the
+                * original pointer is still valid, so use that and don't
+                * overwrite */
+               char *newmsg = GDKrealloc(message, len + 1);
+               if (newmsg != NULL)
+                       message = newmsg;
+       }
        return message;
 }
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to