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