X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/0f411518435b7edf24d4bddcc86e5958f7e3d23f..4ff417bf39de590970c70b43c0d67a6967a46c67:/ev.h diff --git a/ev.h b/ev.h index 1933285..aa746a5 100644 --- a/ev.h +++ b/ev.h @@ -100,7 +100,7 @@ struct ev_loop; int pending; /* private */ \ int priority; /* private */ \ EV_COMMON; /* rw */ \ - void (*cb)(EV_P_ struct type *, int revents); /* private */ /* gets invoked with an eventmask */ + void (*cb)(EV_P_ struct type *, int revents) /* private */ /* gets invoked with an eventmask */ #define EV_WATCHER_LIST(type) \ EV_WATCHER (type); \ @@ -158,9 +158,6 @@ struct ev_io struct ev_signal { EV_WATCHER_LIST (ev_signal); -#if EV_MULTIPLICITY - struct ev_loop *loop; -#endif int signum; /* ro */ }; @@ -229,6 +226,20 @@ int ev_version_minor (void); ev_tstamp ev_time (void); +/* Sets the allocation function to use, works like realloc. + * It is used to allocate and free memory. + * 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. + */ +void ev_set_allocator (void *(*cb)(void *ptr, long size)); + +/* set the callback function to call on a + * retryable syscall error + * (such as failed select, poll, epoll_wait) + */ +void ev_set_syserr_cb (void (*cb)(const char *msg)); + # if EV_MULTIPLICITY /* the default loop is the only one that handles signals and child watchers */ /* you can call this as often as you like */