DEVEL15-rx-packet-count-debugging-20081229
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 29 Dec 2008 22:38:25 +0000 (22:38 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 29 Dec 2008 22:38:25 +0000 (22:38 +0000)
commitd460596131d9c1eb5d6cd99397b3a4d0d5a7f99c
tree41946a55f3e35c936783c644ef750be68261bb23
parente1bb3fcbcb196a3587d951efb0fc839cdf549a8b
DEVEL15-rx-packet-count-debugging-20081229

LICENSE MIT

Validating the state of the rx library is hard.  This patch makes it
a bit easier to validate from within crash dumps (or on Windows in
"fs memdump" output) whether rx packets and calls are in a sane state.
When the library is compiled with -DDEBUG the rx_call and rx_packet
data structures are extended to include a linked list of all allocated
objects and counters are added to track the number of packets on each
of the transmit, receive, and iovec queues.

This compliments the tracking of packet states via RX_PKTFLAGs.

For Windows, rx_DumpCalls and rx_DumpPackets functions are added
that will dump the state of all allocated calls and packets (in Checked
build) in response to a "fs memdump" command.  These functions are
exported from afsrpc.dll.

(cherry picked from commit 29e3bb5838ee224e8d13bf1e680e1eb9480f1400)
src/WINNT/afsd/afsd_service.c
src/WINNT/afsd/cm_ioctl.c
src/libafsrpc/afsrpc.def
src/rx/rx.c
src/rx/rx.h
src/rx/rx_packet.c
src/rx/rx_packet.h
src/rx/rx_rdwr.c