From 5a1433cae7bafe01371663aed8520ce29175cac7 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 24 Dec 2007 01:38:37 -0600 Subject: r26581: Make ldb_wait uniform, so that it is easy to remove it completely from modules later on. (This used to be commit f75ce8c20aa2b466e9ee86fdf1702b2ffda10ddf) --- source4/lib/ldb/modules/rdn_name.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'source4/lib/ldb/modules/rdn_name.c') diff --git a/source4/lib/ldb/modules/rdn_name.c b/source4/lib/ldb/modules/rdn_name.c index 4a95efe7d6..1a0ddbb3c4 100644 --- a/source4/lib/ldb/modules/rdn_name.c +++ b/source4/lib/ldb/modules/rdn_name.c @@ -238,7 +238,7 @@ static int rdn_name_rename_do_mod(struct ldb_handle *h) { return ldb_request(h->module->ldb, ac->mod_req); } -static int rename_wait(struct ldb_handle *handle) +static int rdn_name_wait_once(struct ldb_handle *handle) { struct rename_context *ac; int ret; @@ -304,27 +304,26 @@ done: return ret; } -static int rename_wait_all(struct ldb_handle *handle) { - +static int rdn_name_wait(struct ldb_handle *handle, enum ldb_wait_type type) +{ int ret; - - while (handle->state != LDB_ASYNC_DONE) { - ret = rename_wait(handle); - if (ret != LDB_SUCCESS) { - return ret; - } + + if (!handle || !handle->private_data) { + return LDB_ERR_OPERATIONS_ERROR; } - return handle->status; -} - -static int rdn_name_wait(struct ldb_handle *handle, enum ldb_wait_type type) -{ if (type == LDB_WAIT_ALL) { - return rename_wait_all(handle); - } else { - return rename_wait(handle); + while (handle->state != LDB_ASYNC_DONE) { + ret = rdn_name_wait_once(handle); + if (ret != LDB_SUCCESS) { + return ret; + } + } + + return handle->status; } + + return rdn_name_wait_once(handle); } static const struct ldb_module_ops rdn_name_ops = { -- cgit