ce3d776874
- Don't use home-grown queue manipulation. Use <sys/queue.h> instead. The data structures are a little larger, but we are otherwise wasting the memory chunk anyway (we're already a 64-byte malloc bucket). - Fix a bug in the cache-is-full case: if the oldest element removed from the first non-empty bucket was the only element in the bucket, the bucket wouldn't be removed from the bucket cache, causing queue corruption later. - Optimize the syn cache timers by using PRT timers rather than home-grown decrement-and-propagate timers. This code is now a fair bit smaller, and significantly easier to read and understand.