static struct rpc_request *dcerpc_request_send(struct dcerpc_pipe *p,
const struct GUID *object,
uint16_t opnum,
- bool async,
DATA_BLOB *stub_data)
{
struct rpc_request *req;
req->payload = data_blob(NULL, 0);
req->flags = 0;
req->fault_code = 0;
- req->async_call = async;
req->ignore_timeout = false;
req->async.callback = NULL;
req->async.private_data = NULL;
uint32_t remaining, chunk_size;
bool first_packet = true;
size_t sig_size = 0;
+ bool need_async = false;
req = c->request_queue;
if (req == NULL) {
p = req->p;
stub_data = &req->request_data;
- if (!req->async_call && (c->pending != NULL)) {
- return;
+ if (c->pending) {
+ need_async = true;
}
DLIST_REMOVE(c->request_queue, req);
return;
}
- if (last_frag && !req->async_call) {
+ if (last_frag && !need_async) {
do_trans = true;
}
{
struct rpc_request *req;
- req = dcerpc_request_send(p, object, opnum, false, stub_data_in);
+ req = dcerpc_request_send(p, object, opnum, stub_data_in);
if (req == NULL) {
return NT_STATUS_NO_MEMORY;
}
dump_data(10, request.data, request.length);
/* make the actual dcerpc request */
- req = dcerpc_request_send(p, object, opnum, async, &request);
+ req = dcerpc_request_send(p, object, opnum, &request);
if (req != NULL) {
req->ndr.table = table;