TODO: possible cb aliasing?
TODO: document requirements for function pointers and calling conventions.
+ - ev.h wasn't valid C++ anymore, which tripped compilers other than
+ clang, msvc or gcc (analyzed by Raphael 'kena' Poss).
- when not using autoconf, tighten the check for clock_gettime and related
functionality.
}
void
-ev_set_loop_release_cb (EV_P_ ev_loop_callback_nothrow release, ev_loop_callback_nothrow acquire) EV_THROW
+ev_set_loop_release_cb (EV_P_ ev_loop_callback release EV_THROW, ev_loop_callback acquire EV_THROW) EV_THROW
{
release_cb = release;
acquire_cb = acquire;
EV_API_DECL void *ev_userdata (EV_P) EV_THROW;
typedef void (*ev_loop_callback)(EV_P);
EV_API_DECL void ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_THROW;
-typedef void (*ev_loop_callback_nothrow)(EV_P) EV_THROW;
-EV_API_DECL void ev_set_loop_release_cb (EV_P_ ev_loop_callback_nothrow release, ev_loop_callback_nothrow acquire) EV_THROW;
+EV_API_DECL void ev_set_loop_release_cb (EV_P_ ev_loop_callback release EV_THROW, ev_loop_callback acquire EV_THROW) EV_THROW;
EV_API_DECL unsigned int ev_pending_count (EV_P) EV_THROW; /* number of pending events, if any */
EV_API_DECL void ev_invoke_pending (EV_P); /* invoke all pending watchers */
VARx(unsigned int, loop_depth) /* #ev_run enters - #ev_run leaves */
VARx(void *, userdata)
-VAR (release_cb, ev_loop_callback_nothrow release_cb)
-VAR (acquire_cb, ev_loop_callback_nothrow acquire_cb)
+VAR (release_cb, ev_loop_callback release_cb EV_THROW)
+VAR (acquire_cb, ev_loop_callback acquire_cb EV_THROW)
VAR (invoke_cb , ev_loop_callback invoke_cb)
#endif