_tevent_req_notify_callback: void (struct tevent_req *, const char *)
_tevent_req_oom: void (struct tevent_req *, const char *)
_tevent_req_set_callback: void (struct tevent_req *, tevent_req_fn, const char *, void *)
+_tevent_req_set_cancel_fn: void (struct tevent_req *, tevent_req_cancel_fn, const char *)
_tevent_schedule_immediate: void (struct tevent_immediate *, struct tevent_context *, tevent_immediate_handler_t, void *, const char *, const char *)
_tevent_threaded_schedule_immediate: void (struct tevent_threaded_context *, struct tevent_immediate *, tevent_immediate_handler_t, void *, const char *, const char *)
tevent_abort: void (struct tevent_context *, const char *)
* @param[in] fn A pointer to the cancel function.
*/
void tevent_req_set_cancel_fn(struct tevent_req *req, tevent_req_cancel_fn fn);
+void _tevent_req_set_cancel_fn(struct tevent_req *req,
+ tevent_req_cancel_fn fn,
+ const char *fn_name);
+#define tevent_req_set_cancel_fn(req, fn) \
+ _tevent_req_set_cancel_fn(req, fn, #fn)
#ifdef DOXYGEN
/**
#include "tevent_util.h"
#undef tevent_req_set_callback
+#undef tevent_req_set_cancel_fn
char *tevent_req_default_print(struct tevent_req *req, TALLOC_CTX *mem_ctx)
{
talloc_set_destructor(req, NULL);
req->private_print = NULL;
- req->private_cancel = NULL;
+ req->private_cancel.fn = NULL;
+ req->private_cancel.fn_name = NULL;
TALLOC_FREE(req->internal.trigger);
TALLOC_FREE(req->internal.timer);
void tevent_req_set_cancel_fn(struct tevent_req *req, tevent_req_cancel_fn fn)
{
- req->private_cancel = fn;
+ _tevent_req_set_cancel_fn(req, fn, NULL);
+}
+
+void _tevent_req_set_cancel_fn(struct tevent_req *req,
+ tevent_req_cancel_fn fn,
+ const char *fn_name)
+{
+ req->private_cancel.fn = fn;
+ req->private_cancel.fn_name = fn != NULL ? fn_name : NULL;
}
bool _tevent_req_cancel(struct tevent_req *req, const char *location)
{
- if (req->private_cancel == NULL) {
+ if (req->private_cancel.fn == NULL) {
return false;
}
- return req->private_cancel(req);
+ return req->private_cancel.fn(req);
}
void tevent_req_set_cleanup_fn(struct tevent_req *req, tevent_req_cleanup_fn fn)