diff options
author | Andrew Tridgell <tridge@samba.org> | 2007-03-13 22:58:23 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:49:34 -0500 |
commit | dfb04271eb94d0a64cd776b597b08a732dc6dbbe (patch) | |
tree | 1949f0350974d25c9b65b8a90067632f37ac02e9 /source4/rpc_server/dcerpc_server.h | |
parent | 4f0c0997ce39ecb2920c1d52b03d77e1d50cd5bf (diff) | |
download | samba-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.h | 12 |
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 |