Skip to Content.
Sympa Menu

freetds - Re: [freetds] ct_cancel hangs

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] ct_cancel hangs
  • Date: Wed, 25 Jul 2007 10:02:22 -0400

ZIGLIO, Frediano, VF-IT wrote:
> > > net.c:542:Received packet
> > > 0000 fd 30 00 02 00 d1 04 00-00 |.0...... .|
> > >
> > > token.c:1920:processing row. column size is 253
> >
> > That "fd 30 00" means "end of result set (fd), "results
> > cancelled (30)".
> >
>
> Mumble mumble... it seems that client part is still expecting row data
> while server send cancel acknowledge... it would be helpful to see
> previous packet header. Perhaps server stop sending row informations
> just sending an empty packet with last flag set to 1 ??

Well, it's a mistake for the client to expect row data after the server
sends that cancel acknowledgement.

Cancel -->
<-- data
<-- data
<-- data
<-- End of Results, results cancelled
[state == idle]

Looking at net.c::tds_read_packet(), maybe we should set tds->last_packet
= 1 when the cancelled bit is set in the packet header?

--jkl





Archive powered by MHonArc 2.6.24.

Top of Page