*/
NTSTATUS irpc_call_recv(struct irpc_request *irpc)
{
+ NTSTATUS status;
+
NT_STATUS_HAVE_NO_MEMORY(irpc);
+
while (!irpc->done) {
if (event_loop_once(irpc->msg_ctx->event.ev) != 0) {
return NT_STATUS_CONNECTION_DISCONNECTED;
- }
+ }
}
- return irpc->status;
+ status = irpc->status;
+ talloc_free(irpc);
+ return status;
}
/*
{
struct irpc_request *irpc = irpc_call_send(msg_ctx, server_id,
table, callnum, r, mem_ctx);
- NTSTATUS status = irpc_call_recv(irpc);
- talloc_free(irpc);
- return status;
+ return irpc_call_recv(irpc);
}
/*
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
- talloc_free(reqs[i]);
/* add to the results array */
output = mprGetProperty(io, "output", NULL);
r->in.in_data, *r->out.out_data, r->in.in_data+1);
}
(*pong_count)++;
- talloc_free(irpc);
}
/*
talloc_get_type(ireq->async.private, struct finddcs_state);
state->ctx->status = irpc_call_recv(ireq);
- talloc_free(ireq);
if (!composite_is_ok(state->ctx)) return;
state->dcs[0].name = talloc_steal(state->dcs, state->r.out.dcname);
state->ctx->status = irpc_call_recv(ireq);
- talloc_free(ireq);
if (!composite_is_ok(state->ctx)) return;
state->info->dc_name = talloc_steal(state->info, state->r.out.dcname);