struct dcerpc_binding_handle_call_params_pipe *pp =
dcerpc_pipe_handle_data(state->p,
struct dcerpc_binding_handle_call_params_pipe);
- struct dcerpc_binding_handle_call_params_state *call_state =
- tevent_req_data(pp->call_req,
- struct dcerpc_binding_handle_call_params_state);
- dcerpc_pipe_handle_connection_disconnect(call_state->pc);
- call_state->pc = NULL;
- call_state->call_pipe = NULL;
+ if (!state->is_last_chunk) {
+ return 0;
+ }
+
+ dcerpc_binding_handle_call_params_next_pipe(pp->call_req);
return 0;
}
}
state->ev = ev;
state->p = p;
+ state->is_last_chunk = true;
tevent_req_defer_callback(req, state->ev);
return;
}
- talloc_set_destructor(state, NULL);
-
- if (!state->is_last_chunk) {
- tevent_req_done(req);
- return;
- }
-
tevent_req_done(req);
- dcerpc_binding_handle_call_params_next_pipe(pp->call_req);
}
static NTSTATUS dcerpc_binding_handle_call_params_push_recv(struct tevent_req *req)