From 40ea26d7fa3e9214a7da4bb1280515948e1a1568 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 27 Nov 2007 19:41:52 +0000 Subject: I ❤ µ-opts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ev.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'ev.html') diff --git a/ev.html b/ev.html index 5bcffd0..bd93853 100644 --- a/ev.html +++ b/ev.html @@ -6,7 +6,7 @@ - + @@ -181,20 +181,20 @@ might be supported on the current system, you would need to look at recommended ones.

See the description of ev_embed watchers for more info.

-
ev_set_allocator (void *(*cb)(void *ptr, long size))
+
ev_set_allocator (void *(*cb)(void *ptr, size_t size))
-

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