summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2006-03-10 15:50:47 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:56:56 -0500
commit6e74d8356578c42c8081498094f2c834c6d439b4 (patch)
treedd36165b09aadb826e7e3eeb45cade311f49c4a2 /source4/lib/ldb
parent54f26ea2cf62dd14924b9f32e768061f27329b9d (diff)
downloadsamba-6e74d8356578c42c8081498094f2c834c6d439b4.tar.gz
samba-6e74d8356578c42c8081498094f2c834c6d439b4.tar.bz2
samba-6e74d8356578c42c8081498094f2c834c6d439b4.zip
r14163: Remove LDB_WAIT_ONCE, we can hardly guarante we
get anything if not waiting for all, keeping this value may just lead to false expectations. You either make blocking call waiting for ALL results transforming this in a sync call, or either you loop expecting from 0 to all results being returned at any time on any of these loops. It should be clear also that when you may receive results at any time as soon as you call ldb_request. Your callback may have received all results even before calling ldb_async_wait the first time. Simo. (This used to be commit 6f041068b50caf919cd971812bdb8e3e810565fb)
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r--source4/lib/ldb/include/ldb.h1
-rw-r--r--source4/lib/ldb/ldb_ildap/ldb_ildap.c7
-rw-r--r--source4/lib/ldb/ldb_ldap/ldb_ldap.c10
3 files changed, 0 insertions, 18 deletions
diff --git a/source4/lib/ldb/include/ldb.h b/source4/lib/ldb/include/ldb.h
index dbe929246b..6abce5d9b9 100644
--- a/source4/lib/ldb/include/ldb.h
+++ b/source4/lib/ldb/include/ldb.h
@@ -577,7 +577,6 @@ enum ldb_reply_type {
enum ldb_async_wait_type {
LDB_WAIT_ALL,
- LDB_WAIT_ONCE,
LDB_WAIT_NONE
};
diff --git a/source4/lib/ldb/ldb_ildap/ldb_ildap.c b/source4/lib/ldb/ldb_ildap/ldb_ildap.c
index ceb9c4aafb..de07fa9a95 100644
--- a/source4/lib/ldb/ldb_ildap/ldb_ildap.c
+++ b/source4/lib/ldb/ldb_ildap/ldb_ildap.c
@@ -941,13 +941,6 @@ static int ildb_async_wait(struct ldb_async_handle *handle, enum ldb_async_wait_
return LDB_ERR_OTHER;
}
break;
- case LDB_WAIT_ONCE:
- while (handle->status == LDB_SUCCESS && handle->state == LDB_ASYNC_INIT) {
- if (event_loop_once(ac->req->conn->event.event_ctx) != 0) {
- return LDB_ERR_OTHER;
- }
- }
- break;
case LDB_WAIT_ALL:
while (handle->status == LDB_SUCCESS && handle->state != LDB_ASYNC_DONE) {
if (event_loop_once(ac->req->conn->event.event_ctx) != 0) {
diff --git a/source4/lib/ldb/ldb_ldap/ldb_ldap.c b/source4/lib/ldb/ldb_ldap/ldb_ldap.c
index a2ca7a7cc8..49de229a1e 100644
--- a/source4/lib/ldb/ldb_ldap/ldb_ldap.c
+++ b/source4/lib/ldb/ldb_ldap/ldb_ldap.c
@@ -913,16 +913,6 @@ static int lldb_async_wait(struct ldb_async_handle *handle, enum ldb_async_wait_
}
ret = lldb_parse_result(handle, result);
break;
- case LDB_WAIT_ONCE:
- timeout.tv_sec = ac->timeout;
- timeout.tv_usec = 0;
- ret = ldap_result(lldb->ldap, ac->msgid, 0, &timeout, &result);
- if (ret == -1 || ret == 0) {
- handle->status = LDB_ERR_OPERATIONS_ERROR;
- return handle->status;
- }
- ret = lldb_parse_result(handle, result);
- break;
case LDB_WAIT_ALL:
timeout.tv_sec = ac->timeout;
timeout.tv_usec = 0;