r21811: fixed a queueing error in the dcerpc client code. WHen the
commitf85bb4c1c3e6a0f9e513393a53c41def529a88ad
authorAndrew Tridgell <tridge@samba.org>
Tue, 13 Mar 2007 03:43:16 +0000 (13 03:43 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:49:31 +0000 (10 14:49 -0500)
treed8e02d9b6394aae3401f33969584941bbcf8a32a
parent894555b0a713430ee5cbb743bb0250eb6bf92b3c
r21811: fixed a queueing error in the dcerpc client code. WHen the
dcerpc_ship_next_request() logic was added the penidng queue was split
in two, but we also needed to update the code which removes requests
from the queue to know about the two queues. Following the pattern
used in other client libs, I based which queue to remove from on
req->state, and added a new state RPC_REQUEST_QUEUED. This fixes a
crash that happens when rpc requests time out.

This patch also fixes the handling of timed out bind requests, and the
talloc_reference handling in dcerpc_ndr_request_recv().
(This used to be commit f51a129b52d53059cc1567538f986400c0ea5602)
source4/librpc/rpc/dcerpc.c
source4/librpc/rpc/dcerpc.h