ldb_set_flags: void (struct ldb_context *, unsigned int)
ldb_set_modules_dir: void (struct ldb_context *, const char *)
ldb_set_opaque: int (struct ldb_context *, const char *, void *)
+ldb_set_require_private_event_context: void (struct ldb_context *)
ldb_set_timeout: int (struct ldb_context *, struct ldb_request *, int)
ldb_set_timeout_from_prev_req: int (struct ldb_context *, struct ldb_request *, struct ldb_request *)
ldb_set_utf8_default: void (struct ldb_context *)
return ldb_get_event_context(handle->ldb);
}
+void ldb_set_require_private_event_context(struct ldb_context *ldb)
+{
+ ldb->require_private_event_context = true;
+}
/*
trace a ldb request
unsigned int flags, const char *options[],
struct ldb_module **module);
+void ldb_set_require_private_event_context(struct ldb_context *ldb);
+
struct ldb_backend_ops {
const char *name;
ldb_connect_fn connect_fn;
struct tevent_context *ev_ctx;
+ /*
+ * If the backend holds locks, we must not use a global event
+ * context, so this flag will be set and ldb_handle_new() will
+ * build a new event context
+ */
+ bool require_private_event_context;
+
bool prepare_commit_done;
char *partial_debug;