Enhance comment about obstack_alloc_failed_handler usage.
authordrepper <drepper>
Mon, 5 Oct 1998 13:38:36 +0000 (13:38 +0000)
committerdrepper <drepper>
Mon, 5 Oct 1998 13:38:36 +0000 (13:38 +0000)
malloc/obstack.c
malloc/obstack.h

index a192441..76b7a95 100644 (file)
@@ -78,7 +78,9 @@ union fooround {long x; double d;};
 
 /* The functions allocating more room by calling `obstack_chunk_alloc'
    jump to the handler pointed to by `obstack_alloc_failed_handler'.
-   This variable by default points to the internal function
+   This can be set to a user defined function which should either
+   abort gracefully or use longjump - but shouldn't return.  This
+   variable by default points to the internal function
    `print_and_abort'.  */
 #if defined (__STDC__) && __STDC__
 static void print_and_abort (void);
@@ -142,9 +144,8 @@ struct obstack *_obstack;
    CHUNKFUN is the function to use to allocate chunks,
    and FREEFUN the function to free them.
 
-   Return nonzero if successful, zero if out of memory.
-   To recover from an out of memory error,
-   free up some memory, then call this again.  */
+   Return nonzero if successful, calls obstack_alloc_failed_handler if
+   allocation fails.  */
 
 int
 _obstack_begin (h, size, alignment, chunkfun, freefun)
index edbcd26..beb548e 100644 (file)
@@ -254,8 +254,9 @@ int obstack_memory_used (struct obstack *obstack);
    so we do not declare them.  */
 
 /* Error handler called when `obstack_chunk_alloc' failed to allocate
-   more memory.  This can be set to a user defined function.  The
-   default action is to print a message and abort.  */
+   more memory.  This can be set to a user defined function which
+   should either abort gracefully or use longjump - but shouldn't
+   return.  The default action is to print a message and abort.  */
 #if defined __STDC__ && __STDC__
 extern void (*obstack_alloc_failed_handler) (void);
 #else