diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tevent/tevent.c | 8 | ||||
-rw-r--r-- | lib/tevent/tevent.h | 14 |
2 files changed, 19 insertions, 3 deletions
diff --git a/lib/tevent/tevent.c b/lib/tevent/tevent.c index 5247b5ec1c..61ffc7edaa 100644 --- a/lib/tevent/tevent.c +++ b/lib/tevent/tevent.c @@ -210,8 +210,9 @@ int tevent_common_context_destructor(struct tevent_context *ev) NOTE: use tevent_context_init() inside of samba! */ -static struct tevent_context *tevent_context_init_ops(TALLOC_CTX *mem_ctx, - const struct tevent_ops *ops) +struct tevent_context *tevent_context_init_ops(TALLOC_CTX *mem_ctx, + const struct tevent_ops *ops, + void *additional_data) { struct tevent_context *ev; int ret; @@ -222,6 +223,7 @@ static struct tevent_context *tevent_context_init_ops(TALLOC_CTX *mem_ctx, talloc_set_destructor(ev, tevent_common_context_destructor); ev->ops = ops; + ev->additional_data = additional_data; ret = ev->ops->context_init(ev); if (ret != 0) { @@ -253,7 +255,7 @@ struct tevent_context *tevent_context_init_byname(TALLOC_CTX *mem_ctx, for (e=tevent_backends;e;e=e->next) { if (strcmp(name, e->name) == 0) { - return tevent_context_init_ops(mem_ctx, e->ops); + return tevent_context_init_ops(mem_ctx, e->ops, NULL); } } return NULL; diff --git a/lib/tevent/tevent.h b/lib/tevent/tevent.h index c8719fa4f1..dc61912be7 100644 --- a/lib/tevent/tevent.h +++ b/lib/tevent/tevent.h @@ -126,6 +126,20 @@ struct tevent_context *tevent_context_init(TALLOC_CTX *mem_ctx); struct tevent_context *tevent_context_init_byname(TALLOC_CTX *mem_ctx, const char *name); /** + * @brief Create a custom event context + * + * @param[in] mem_ctx The memory context to use. + * @param[in] ops The function pointer table of the backend. + * @param[in] additional_data The additional/private data to this instance + * + * @return An allocated tevent context, NULL on error. + * + */ +struct tevent_context *tevent_context_init_ops(TALLOC_CTX *mem_ctx, + const struct tevent_ops *ops, + void *additional_data); + +/** * @brief List available backends. * * @param[in] mem_ctx The memory context to use. |