summaryrefslogtreecommitdiff
path: root/source4/rpc_server/common
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamenim@samba.org>2010-09-15 16:41:47 +0300
committerKamen Mazdrashki <kamenim@samba.org>2010-09-16 00:15:38 +0300
commitee169d73479a5e8672d56617f2ad9cfac254f8bf (patch)
treedb3b4c120825e2a1f09713df037d7202874f7ee9 /source4/rpc_server/common
parent839ed051fc4fe62b9b2ce008898b538509769f88 (diff)
downloadsamba-ee169d73479a5e8672d56617f2ad9cfac254f8bf.tar.gz
samba-ee169d73479a5e8672d56617f2ad9cfac254f8bf.tar.bz2
samba-ee169d73479a5e8672d56617f2ad9cfac254f8bf.zip
s4-irpc: Add 'timeout' param for dcesrv_irpc_forward_rpc_call() call
It is to be used when caller wants to explicitly specify the timeout for the call
Diffstat (limited to 'source4/rpc_server/common')
-rw-r--r--source4/rpc_server/common/forward.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source4/rpc_server/common/forward.c b/source4/rpc_server/common/forward.c
index 51e7507d18..c983ac361e 100644
--- a/source4/rpc_server/common/forward.c
+++ b/source4/rpc_server/common/forward.c
@@ -57,13 +57,14 @@ static void dcesrv_irpc_forward_callback(struct tevent_req *subreq)
-/*
- forward a RPC call using IRPC to another task
+/**
+ * Forward a RPC call using IRPC to another task
*/
void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
void *r, uint32_t callid,
const struct ndr_interface_table *ndr_table,
- const char *dest_task, const char *opname)
+ const char *dest_task, const char *opname,
+ uint32_t timeout)
{
struct dcesrv_forward_state *st;
struct dcerpc_binding_handle *binding_handle;
@@ -96,6 +97,9 @@ void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX
return;
}
+ /* reset timeout for the handle */
+ dcerpc_binding_handle_set_timeout(binding_handle, timeout);
+
/* forward the call */
subreq = dcerpc_binding_handle_call_send(st, dce_call->event_ctx,
binding_handle,