]> granicus.if.org Git - postgis/commitdiff
#3429, directly call set_handlers for allocator initialization
authorPaul Ramsey <pramsey@cleverelephant.ca>
Fri, 26 Feb 2016 09:51:29 +0000 (09:51 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Fri, 26 Feb 2016 09:51:29 +0000 (09:51 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@14700 b70326c6-7e19-0410-871a-916f4a2858ee

raster/rt_pg/rtpostgis.c

index f222dd1ff9354d0288defb4bd4548799ad9f6f9e..0d954621bb80b46fe4ee841e8a3f9ec470888224 100644 (file)
@@ -153,6 +153,98 @@ void _PG_init(void);
 
 #define RT_MSG_MAXLEN 256
 
+
+/* ---------------------------------------------------------------- */
+/*  Memory allocation / error reporting hooks                       */
+/* ---------------------------------------------------------------- */
+
+static void *
+rt_pg_alloc(size_t size)
+{
+    void * result;
+
+    POSTGIS_RT_DEBUGF(5, "rt_pgalloc(%ld) called", (long int) size);
+
+    result = palloc(size);
+
+    return result;
+}
+
+static void *
+rt_pg_realloc(void *mem, size_t size)
+{
+    void * result;
+
+    POSTGIS_RT_DEBUGF(5, "rt_pg_realloc(%ld) called", (long int) size);
+
+    if (mem)
+        result = repalloc(mem, size);
+
+    else
+        result = palloc(size);
+
+    return result;
+}
+
+static void
+rt_pg_free(void *ptr)
+{
+    POSTGIS_RT_DEBUG(5, "rt_pfree called");
+    pfree(ptr);
+}
+
+static void rt_pg_error(const char *fmt, va_list ap)
+  __attribute__(( format(printf,1,0) ));
+
+static void
+rt_pg_error(const char *fmt, va_list ap)
+{
+    char errmsg[RT_MSG_MAXLEN+1];
+
+    vsnprintf (errmsg, RT_MSG_MAXLEN, fmt, ap);
+
+    errmsg[RT_MSG_MAXLEN]='\0';
+    ereport(ERROR, (errmsg_internal("%s", errmsg)));
+}
+
+static void rt_pg_notice(const char *fmt, va_list ap)
+  __attribute__(( format(printf,1,0) ));
+
+static void
+rt_pg_notice(const char *fmt, va_list ap)
+{
+    char msg[RT_MSG_MAXLEN+1];
+
+    vsnprintf (msg, RT_MSG_MAXLEN, fmt, ap);
+
+    msg[RT_MSG_MAXLEN]='\0';
+    ereport(NOTICE, (errmsg_internal("%s", msg)));
+}
+
+static void rt_pg_debug(const char *fmt, va_list ap)
+  __attribute__(( format(printf,1,0) ));
+
+static void
+rt_pg_debug(const char *fmt, va_list ap)
+{
+    char msg[RT_MSG_MAXLEN+1];
+
+    vsnprintf (msg, RT_MSG_MAXLEN, fmt, ap);
+
+    msg[RT_MSG_MAXLEN]='\0';
+    ereport(DEBUG1, (errmsg_internal("%s", msg)));
+}
+
+
+void
+rt_init_allocators(void)
+{
+    /* raster callback - install raster handlers */
+    rt_set_handlers(rt_pg_alloc, rt_pg_realloc, rt_pg_free, rt_pg_error,
+            rt_pg_debug, rt_pg_notice);
+}
+
+
 /* ---------------------------------------------------------------- */
 /*  PostGIS raster GUCs                                             */
 /* ---------------------------------------------------------------- */
@@ -382,7 +474,7 @@ _PG_init(void) {
        pg_install_lwgeom_handlers();
 
        /* Install rtcore handlers */
-       rt_init_allocators();
+       rt_set_handlers(rt_pg_alloc, rt_pg_realloc, rt_pg_free, rt_pg_error, rt_pg_debug, rt_pg_notice);
 
        /* Define custom GUC variables. */
        if ( postgis_guc_find_option("postgis.gdal_datapath") )
@@ -464,93 +556,5 @@ _PG_init(void) {
        pfree(boot_postgis_gdal_enabled_drivers);
 }
 
-/* ---------------------------------------------------------------- */
-/*  Memory allocation / error reporting hooks                       */
-/*  TODO: reuse the ones in libpgcommon ?                           */
-/* ---------------------------------------------------------------- */
-
-static void *
-rt_pg_alloc(size_t size)
-{
-    void * result;
-
-    POSTGIS_RT_DEBUGF(5, "rt_pgalloc(%ld) called", (long int) size);
 
-    result = palloc(size);
-
-    return result;
-}
-
-static void *
-rt_pg_realloc(void *mem, size_t size)
-{
-    void * result;
-
-    POSTGIS_RT_DEBUGF(5, "rt_pg_realloc(%ld) called", (long int) size);
 
-    if (mem)
-        result = repalloc(mem, size);
-
-    else
-        result = palloc(size);
-
-    return result;
-}
-
-static void
-rt_pg_free(void *ptr)
-{
-    POSTGIS_RT_DEBUG(5, "rt_pfree called");
-    pfree(ptr);
-}
-
-static void rt_pg_error(const char *fmt, va_list ap)
-  __attribute__(( format(printf,1,0) ));
-
-static void
-rt_pg_error(const char *fmt, va_list ap)
-{
-    char errmsg[RT_MSG_MAXLEN+1];
-
-    vsnprintf (errmsg, RT_MSG_MAXLEN, fmt, ap);
-
-    errmsg[RT_MSG_MAXLEN]='\0';
-    ereport(ERROR, (errmsg_internal("%s", errmsg)));
-}
-
-static void rt_pg_notice(const char *fmt, va_list ap)
-  __attribute__(( format(printf,1,0) ));
-
-static void
-rt_pg_notice(const char *fmt, va_list ap)
-{
-    char msg[RT_MSG_MAXLEN+1];
-
-    vsnprintf (msg, RT_MSG_MAXLEN, fmt, ap);
-
-    msg[RT_MSG_MAXLEN]='\0';
-    ereport(NOTICE, (errmsg_internal("%s", msg)));
-}
-
-static void rt_pg_debug(const char *fmt, va_list ap)
-  __attribute__(( format(printf,1,0) ));
-
-static void
-rt_pg_debug(const char *fmt, va_list ap)
-{
-    char msg[RT_MSG_MAXLEN+1];
-
-    vsnprintf (msg, RT_MSG_MAXLEN, fmt, ap);
-
-    msg[RT_MSG_MAXLEN]='\0';
-    ereport(DEBUG1, (errmsg_internal("%s", msg)));
-}
-
-
-void
-rt_init_allocators(void)
-{
-    /* raster callback - install raster handlers */
-    rt_set_handlers(rt_pg_alloc, rt_pg_realloc, rt_pg_free, rt_pg_error,
-            rt_pg_debug, rt_pg_notice);
-}