From 40ea26d7fa3e9214a7da4bb1280515948e1a1568 Mon Sep 17 00:00:00 2001
From: root
See the description of ev_embed watchers for more info.
Sets the allocation function to use (the prototype is similar to the -realloc C function, the semantics are identical). It is used to allocate -and free memory (no surprises here). If it returns zero when memory -needs to be allocated, the library might abort or take some potentially -destructive action. The default is your system realloc function.
+Sets the allocation function to use (the prototype and semantics are +identical to the realloc C function). It is used to allocate and free +memory (no surprises here). If it returns zero when memory needs to be +allocated, the library might abort or take some potentially destructive +action. The default is your system realloc function.
You could override this function in high-availability programs to, say, free some memory if it cannot allocate memory, to use a special allocator, or even to sleep a while and retry until some memory is available.
Example: replace the libev allocator with one that waits a bit and then retries: better than mine).
static void *
- persistent_realloc (void *ptr, long size)
+ persistent_realloc (void *ptr, size_t size)
{
for (;;)
{
--
cgit v1.2.3