Skip to Content.
Sympa Menu

freetds - Re: [freetds] tdsdump SIGSEGV with mt apps

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: liam AT inodes.org
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] tdsdump SIGSEGV with mt apps
  • Date: Wed, 13 Apr 2005 21:43:04 +1000

On Wed, Apr 13, 2005 at 12:52:46PM +0200, ZIGLIO, Frediano, VF-IT wrote:

> I'm thinking about applying or not your patch. Your patch solve the
> problem however is it the right way to fix it??

Almost certainly not, it's at best a work-around for the problem, not
a fix.

The problem is that FreeTDS is riddled with these global structures all
over the place and I'm not game to try and re-write the whole lot just
for this.

> If I remember you posted a patch to fix some problem with dblib and
> multi-thread. I think is the right time to review it.

Yes, please! At the moment, I'm experiencing problems with FreeTDS
and network timeouts which means I have to either fix these or
perhaps move to a newer version of FreeTDS.

I had a look at the latest snapshot and it appears that much of
the code around network I/O has changed. Has it been fixed? I was
looking at goodread() and it still has bugs. What state is it in?

I've made a number of changes to goodread() for it to properly support
timeouts but it does not pass all of my test cases.

It may be worth re-writing it from scratch. The function is filled with
incorrect behaviour such as neglecting to call FD_ISSET() before
recv() after the select().

So I'm now left to ponder where I should put my effort. Port my dblib
thread code to 0.64.dev.20050411 or fix the timeout issues in
0.63.dev.20040824 or both?

Is anyone here confident that 0.64 actually has reliable network I/O?

Thanks.




Archive powered by MHonArc 2.6.24.

Top of Page