summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
9579a6f)
Extended operations return was not going thorugh the same patch as others
leaving the ctx around. Plus we were neutralizing the spy too early so that it
didn't set the request_terminated flag as it should have.
This should hopefully fix the failures in the build farm.
ctx = talloc_get_type(private_data, struct ltdb_context);
if (!ctx->request_terminated) {
ctx = talloc_get_type(private_data, struct ltdb_context);
if (!ctx->request_terminated) {
- /* neutralize the spy */
- ctx->spy->ctx = NULL;
-
/* request is done now */
ltdb_request_done(ctx, LDB_ERR_TIME_LIMIT_EXCEEDED);
}
/* request is done now */
ltdb_request_done(ctx, LDB_ERR_TIME_LIMIT_EXCEEDED);
}
+ if (!ctx->request_terminated) {
+ /* neutralize the spy */
+ ctx->spy->ctx = NULL;
+ }
ctx = talloc_get_type(private_data, struct ltdb_context);
ctx = talloc_get_type(private_data, struct ltdb_context);
- if (!ctx->request_terminated) {
- /* neutralize the spy */
- ctx->spy->ctx = NULL;
- } else goto done;
+ if (ctx->request_terminated) {
+ goto done;
+ }
switch (ctx->req->operation) {
case LDB_SEARCH:
switch (ctx->req->operation) {
case LDB_SEARCH:
break;
case LDB_EXTENDED:
ltdb_handle_extended(ctx);
break;
case LDB_EXTENDED:
ltdb_handle_extended(ctx);
default:
/* no other op supported */
ret = LDB_ERR_UNWILLING_TO_PERFORM;
default:
/* no other op supported */
ret = LDB_ERR_UNWILLING_TO_PERFORM;
+ if (!ctx->request_terminated) {
+ /* neutralize the spy */
+ ctx->spy->ctx = NULL;
+ }