Skip to Content.
Sympa Menu

freetds - Re: Cancel problem

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: ZIGLIO Frediano <Frediano.Ziglio AT vodafoneomnitel.it>
  • To: "'TDS Development Group'" <freetds AT franklin.metalab.unc.edu>
  • Subject: Re: Cancel problem
  • Date: Wed, 4 Sep 2002 14:04:18 +0200


>
> Ok, I've checked in a fix. I did some minimal testing since
> I need to get
> going to work here in a few, but it seems to hold up.
>
> Brian
>
Not so good... too much thing are changed... I start to be a little paranoid
:)
Just put the while on the first if of tds_get_byte and rollback the
tds_read_packet...

Also I remember that server can send a packet (with not EOM) between the
cancel request and the cancel acknowledge.
I do a SELECT
server start returning data
client issue cancel (data are perhaps already in client socket kernel cache)
server send cancel acknowledge (only-header packet) and done with cancel
client read for cancel and find the packet of data returned by select. If
this packet do not finish at packet bounduary tds_process_cancel just join
this packet to cancel packet... You don't see the done with cancel...

Your fix solve PHP problem (just do a cancel to assert clean state) but not
this last problem.

I was thinking at this solution:
- on send cancel
- reset out packet discarding data
- set state to cancelling
- send cancel
- on read
- if packet is 0xf with acknowledge and state to cancelling turn state to
cancelled
- if state is cancelled discard any packet received
tds_process_cancel call read so all packet between cancel request and cancel
acknowledge are discarded. First byte returned should be the DONE token.

freddy77

=================================
"STRICTLY PERSONAL AND CONFIDENTIAL

This message may contain confidential and proprietary material for the sole
use of the intended recipient. Any review or distribution by others is
strictly prohibited. If you are not the intended recipient please contact
the sender and delete all copies.
The contents of this message that do not relate to the official business of
our company shall be understood as neither given nor endorsed by it."

=================================




Archive powered by MHonArc 2.6.24.

Top of Page