rx-packet-count-debugging-20081229
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 29 Dec 2008 22:36:32 +0000 (22:36 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 29 Dec 2008 22:36:32 +0000 (22:36 +0000)
commit29e3bb5838ee224e8d13bf1e680e1eb9480f1400
tree1468b4e5ebbb29920c19c59021f0c40df38fe50b
parent3d44f93f9a0b1d2d4a07b58b3104420e9c138d12
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.
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