Skip to Content.
Sympa Menu

freetds - Re: [freetds] dbsqlexec() never returns

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] dbsqlexec() never returns
  • Date: Mon, 4 Jun 2007 10:23:37 +0200


>
> > ***************
> > *** 679,683 ****
> > case TDS_INT_TIMEOUT:
> > tds_send_cancel(tds);
> > ! continue; /* fixme: or return? */
> > default:
> > case TDS_INT_CANCEL:
> > --- 670,675 ----
> > case TDS_INT_TIMEOUT:
> > tds_send_cancel(tds);
> > ! // brent 21-May-07 - Return fail seems more sensible then continue
> > ! return 0;
> > default:
> > case TDS_INT_CANCEL:
>
> I realized now that this patch write side... perhaps it's right... we
> send cancel so we should expect server to honor cancel and return some
> result, so it's wrong to wait for write again !!
> I'm finding a way to reproduce it...
>

I realize just now that for writing it's a bit different... we are not
able to send a packet so we send another cancel packet?? Not that
clever, probably even sending this packet fails. So or we decide to
close connection or we wait indefinitely. If server close connection for
some problems we have a write failure, here timeout means that server
isn't reading our request. This also means that we are not waiting for a
reply but connection was idle before sending so server is VERY busy at
the moment.

freddy77





Archive powered by MHonArc 2.6.24.

Top of Page