summaryrefslogtreecommitdiff
path: root/source4/rpc_server/dcerpc_server.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-03-13 22:58:23 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:49:34 -0500
commitdfb04271eb94d0a64cd776b597b08a732dc6dbbe (patch)
tree1949f0350974d25c9b65b8a90067632f37ac02e9 /source4/rpc_server/dcerpc_server.h
parent4f0c0997ce39ecb2920c1d52b03d77e1d50cd5bf (diff)
downloadsamba-dfb04271eb94d0a64cd776b597b08a732dc6dbbe.tar.gz
samba-dfb04271eb94d0a64cd776b597b08a732dc6dbbe.tar.bz2
samba-dfb04271eb94d0a64cd776b597b08a732dc6dbbe.zip
r21835: fixed a rpc server bug where we failed to remove a call from one
linked list when moving it to another. This could cause a valgrind error under the RPC-SCANNER test. (This used to be commit 9ba8c008513e362fbb860af899006505cadb4a2f)
Diffstat (limited to 'source4/rpc_server/dcerpc_server.h')
-rw-r--r--source4/rpc_server/dcerpc_server.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h
index a1f771339a..0804b86d30 100644
--- a/source4/rpc_server/dcerpc_server.h
+++ b/source4/rpc_server/dcerpc_server.h
@@ -71,6 +71,13 @@ struct dcesrv_interface {
const void *private;
};
+enum dcesrv_call_list {
+ DCESRV_LIST_NONE,
+ DCESRV_LIST_CALL_LIST,
+ DCESRV_LIST_FRAGMENTED_CALL_LIST,
+ DCESRV_LIST_PENDING_CALL_LIST
+};
+
/* the state of an ongoing dcerpc call */
struct dcesrv_call_state {
struct dcesrv_call_state *next, *prev;
@@ -78,6 +85,11 @@ struct dcesrv_call_state {
struct dcesrv_connection_context *context;
struct ncacn_packet pkt;
+ /*
+ which list this request is in, if any
+ */
+ enum dcesrv_call_list list;
+
/* the backend can mark the call
* with DCESRV_CALL_STATE_FLAG_ASYNC
* that will cause the frontend to not touch r->out