diff options
author | Simo Sorce <idra@samba.org> | 2006-03-10 15:50:47 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:56:56 -0500 |
commit | 6e74d8356578c42c8081498094f2c834c6d439b4 (patch) | |
tree | dd36165b09aadb826e7e3eeb45cade311f49c4a2 | |
parent | 54f26ea2cf62dd14924b9f32e768061f27329b9d (diff) | |
download | samba-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)
-rw-r--r-- | source4/lib/ldb/include/ldb.h | 1 | ||||
-rw-r--r-- | source4/lib/ldb/ldb_ildap/ldb_ildap.c | 7 | ||||
-rw-r--r-- | source4/lib/ldb/ldb_ldap/ldb_ldap.c | 10 |
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; |