1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-22 07:33:16 +03:00

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 9ba8c00851)
This commit is contained in:
Andrew Tridgell
2007-03-13 22:58:23 +00:00
committed by Gerald (Jerry) Carter
parent 4f0c0997ce
commit dfb04271eb
2 changed files with 70 additions and 11 deletions

View File

@@ -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