Subject: [Patch] Fix for TCP reads in 1.3.0 (and current trunk)

[Patch] Fix for TCP reads in 1.3.0 (and current trunk)

From: Brad Spencer <spencer_at_jacknife.org>
Date: 2006-02-09

First of all, thanks very much for the work on this asynchronous DNS
library with a sane license. It fit right into my needs (probably
because my needs almost entirely align with what's on the c-ares "why"
page :)

Ok, I'll grab your attention with a serious bug-fix first. TCP reads
don't work, at least the ones I was trying (with ARES_FLAG_STAYOPEN
on). This is simply because the current TCP read buffer position is
not reset after a successful request. The tcp_lenbuf_pos is, but
tcp_buffer_pos isn't and since that's what drives the calls to
recvfrom(), that's not cool. I actually tracked this down very easily
with a little dose of valgrind. See the attached patch.

While we're at it, I've also attached a tiny change that removes
uninitialized variable warnings by gcc-4.0.1. I always compile
everything with -Werror (call me crazy), so I had to "fix" them
anyway, so everyone may as well benefit.

-- 
----------------------------------------------------------
Brad Spencer - spencer@jacknife.org - "It's quite nice..."
"S.M.A.K.I.B.B.F.B." - A.J. Rimmer | http://jacknife.org/


Received on Thu Feb 9 05:23:30 2006