]> granicus.if.org Git - postgresql/commitdiff
Suppress compiler warning in slab.c.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 8 Mar 2017 21:19:37 +0000 (16:19 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 8 Mar 2017 21:19:37 +0000 (16:19 -0500)
Compilers that don't realize that elog(ERROR) doesn't return
complained that SlabRealloc() failed to return a value.

While at it, fix the rather muddled header comment for the function.

Per buildfarm.

src/backend/utils/mmgr/slab.c

index 11a126acf368092d6efaa4cf363174c461fbe884..d6be4fe6603853fbb41b849f278fd22614dc994c 100644 (file)
@@ -547,14 +547,14 @@ SlabFree(MemoryContext context, void *pointer)
 
 /*
  * SlabRealloc
- *             As Slab is designed for allocating equally-sized chunks of memory, it
- *             can't really do an actual realloc.
+ *             Change the allocated size of a chunk.
  *
- * We try to be gentle and allow calls with exactly the same size as in that
- * case we can simply return the same chunk. When the size differs, we fail
- * with assert failure or return NULL.
+ * As Slab is designed for allocating equally-sized chunks of memory, it can't
+ * do an actual chunk size change.  We try to be gentle and allow calls with
+ * exactly the same size, as in that case we can simply return the same
+ * chunk.  When the size differs, we throw an error.
  *
- * We might be even support cases with (size < chunkSize). That however seems
+ * We could also allow requests with size < chunkSize.  That however seems
  * rather pointless - Slab is meant for chunks of constant size, and moreover
  * realloc is usually used to enlarge the chunk.
  */
@@ -570,6 +570,7 @@ SlabRealloc(MemoryContext context, void *pointer, Size size)
                return pointer;
 
        elog(ERROR, "slab allocator does not support realloc()");
+       return NULL;                            /* keep compiler quiet */
 }
 
 /*