new function xmalloc_uncollectable
authorBT Templeton <bpt@hcoop.net>
Thu, 28 Jun 2012 03:24:01 +0000 (23:24 -0400)
committerRobin Templeton <robin@terpri.org>
Sat, 18 Apr 2015 22:49:07 +0000 (18:49 -0400)
* src/alloc.c (xmalloc_uncollectable): New function.

src/alloc.c
src/lisp.h

index 5e71654..e93a297 100644 (file)
@@ -232,6 +232,17 @@ xfree (void *block)
   return;
 }
 
+/* Allocate uncollectable memory.  */
+
+void *
+xmalloc_uncollectable (size_t size)
+{
+  void *val = GC_MALLOC_UNCOLLECTABLE (size);
+  if (! val && size)
+    memory_full (size);
+  return val;
+}
+
 /* Allocate memory, but if memory is exhausted, return NULL instead of
    signalling an error.  */
 
index b6997f3..f4d9670 100644 (file)
@@ -4180,6 +4180,7 @@ extern void *xmalloc (size_t) ATTRIBUTE_MALLOC_SIZE ((1));
 extern void *xzalloc (size_t) ATTRIBUTE_MALLOC_SIZE ((1));
 extern void *xrealloc (void *, size_t) ATTRIBUTE_ALLOC_SIZE ((2));
 extern void xfree (void *);
+extern void *xmalloc_uncollectable (size_t) ATTRIBUTE_MALLOC_SIZE ((1));
 extern void *xmalloc_unsafe (size_t) ATTRIBUTE_MALLOC_SIZE ((1));
 extern void *xnmalloc (ptrdiff_t, ptrdiff_t) ATTRIBUTE_MALLOC_SIZE ((1,2));
 extern void *xnrealloc (void *, ptrdiff_t, ptrdiff_t)